Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ContainerAppsBuild and ContainerAppsPatch API #27982

Conversation

harryli0108
Copy link
Member

@harryli0108 harryli0108 commented Feb 29, 2024

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

Note

As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

diagram

Click here to see the details of Step 1

Breaking changes review (Diagram Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

  • The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
  • You believe there is no need for you to request breaking change approval, for any reason.
    Such claims must be reviewed, and the process is the same.
Click here to see the details of Step 2

ARM API changes review (Diagram Step 2)

Click here to see the diagram footnotes

Diagram footnotes

[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been generated using OpenAPI Hub).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with PR workflow diagram Step 2 (ARM review), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Copy link

openapi-pipeline-app bot commented Feb 29, 2024

Next Steps to Merge

✅ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).

Copy link

openapi-pipeline-app bot commented Feb 29, 2024

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
Compared specs (v0.10.5) new version base version
CommonDefinitions.json 2024-02-02-preview(7f862d5) 2023-05-01(main)
CommonDefinitions.json 2024-02-02-preview(7f862d5) 2023-11-02-preview(main)
ContainerApps.json 2024-02-02-preview(7f862d5) 2023-05-01(main)
ContainerApps.json 2024-02-02-preview(7f862d5) 2023-11-02-preview(main)
️⚠️LintDiff: 7 Warnings warning [Detail]
Compared specs (v2.2.0) new version base version
package-preview-2024-02 package-preview-2024-02(7f862d5) package-preview-2024-02(release-app-Microsoft.App-2024-02-02-preview)

[must fix]The following errors/warnings are introduced by current PR:

Rule Message Related RPC [For API reviewers]
⚠️ AvoidNestedProperties Consider using x-ms-client-flatten to provide a better end user experience
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L738
⚠️ MissingSegmentsInNestedResourceListOperation A nested resource type's List operation must include all the parent segments in its api path.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsBuilds.json#L36
RPC-Get-V1-11
⚠️ MissingSegmentsInNestedResourceListOperation A nested resource type's List operation must include all the parent segments in its api path.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json#L36
RPC-Get-V1-11
⚠️ LatestVersionOfCommonTypesMustBeUsed Use the latest version v5 of types.json.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json#L323
⚠️ AvoidNestedProperties Consider using x-ms-client-flatten to provide a better end user experience
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json#L397
⚠️ AvoidNestedProperties Consider using x-ms-client-flatten to provide a better end user experience
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json#L416
⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json#L526


The following errors/warnings exist before current PR submission:

Only 30 items are listed, please refer to log for more details.

Rule Message
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L293
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L428
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L451
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L513
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L513
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L513
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L534
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L538
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L542
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L622
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L622
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L622
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L639
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L1063
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L1110
AvoidAdditionalProperties Definitions must not have properties named additionalProperties except for user defined tags or predefined references.
Location: Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json#L1555
ResourceNameRestriction The resource name parameter 'containerAppName' should be defined with a 'pattern' restriction.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L99
GetResponseCodes GET operation must have response codes 200 and default. In addition, can have 202 if the GET represents the location header polling url.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L100
NoErrorCodeResponses Invalid status code specified. Please refer to the documentation for the allowed set.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L131
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L198
DeleteResponseCodes Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L224
LroErrorContent Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L267
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:location.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:type.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not have default value, property:activeRevisionsMode.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not have default value, property:transport.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:allowedOrigins.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not have default value, property:appProtocol.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:type.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
PatchBodyParametersSchema Properties of a PATCH request body must not have default value, property:maxReplicas.
Location: Microsoft.App/preview/2024-02-02-preview/ContainerApps.json#L307
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️SwaggerAPIView succeeded [Detail] [Expand]
️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

Copy link

openapi-pipeline-app bot commented Feb 29, 2024

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️⚠️SDK Breaking Change Tracking warning [Detail]

Breaking Changes Tracking


⚠️azure-sdk-for-js - @azure/arm-appcontainers - 3.0.0-beta.1
+	Class ContainerAppsAPIClient has a new signature
️⚠️ azure-sdk-for-python-track2 warning [Detail]
  • ⚠️Warning [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. SDK Automation 14.0.0
    command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
    cmderr	[automation_init.sh] WARNING: azure-devtools 1.2.1 does not provide the extra 'ci-tools'
    cmderr	[automation_init.sh] WARNING: azure-devtools 1.2.1 does not provide the extra 'ci-tools'
    cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
    command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
    cmderr	[automation_generate.sh]
    cmderr	[automation_generate.sh]  New minor version of npm available! 10.2.4 -> 10.5.0
    cmderr	[automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.0>
    cmderr	[automation_generate.sh] npm notice Run `npm install -g [email protected]` to update!
    cmderr	[automation_generate.sh] npm notice
  • ️✔️track2_azure-mgmt-appcontainers [View full logs]  [Preview SDK Changes]
    info	[Changelog] ### Features Added
    info	[Changelog]
    info	[Changelog]   - Added operation ContainerAppsAPIClientOperationsMixin.get_custom_domain_verification_id
    info	[Changelog]   - Added operation JobsOperations.get_detector
    info	[Changelog]   - Added operation JobsOperations.list_detectors
    info	[Changelog]   - Added operation JobsOperations.proxy_get
    info	[Changelog]   - Added operation group AppResiliencyOperations
    info	[Changelog]   - Added operation group BuildAuthTokenOperations
    info	[Changelog]   - Added operation group BuildersOperations
    info	[Changelog]   - Added operation group BuildsByBuilderResourceOperations
    info	[Changelog]   - Added operation group BuildsOperations
    info	[Changelog]   - Added operation group ContainerAppsBuildsByContainerAppOperations
    info	[Changelog]   - Added operation group ContainerAppsBuildsOperations
    info	[Changelog]   - Added operation group ContainerAppsPatchesOperations
    info	[Changelog]   - Added operation group DaprComponentResiliencyPoliciesOperations
    info	[Changelog]   - Added operation group DaprSubscriptionsOperations
    info	[Changelog]   - Added operation group DotNetComponentsOperations
    info	[Changelog]   - Added operation group FunctionsExtensionOperations
    info	[Changelog]   - Added operation group JavaComponentsOperations
    info	[Changelog]   - Added operation group ManagedEnvironmentUsagesOperations
    info	[Changelog]   - Added operation group UsagesOperations
    info	[Changelog]   - Model AuthConfig has a new parameter encryption_settings
    info	[Changelog]   - Model AvailableWorkloadProfileProperties has a new parameter gpus
    info	[Changelog]   - Model BaseContainer has a new parameter image_type
    info	[Changelog]   - Model CertificateProperties has a new parameter certificate_key_vault_properties
    info	[Changelog]   - Model CertificateProperties has a new parameter certificate_type
    info	[Changelog]   - Model Configuration has a new parameter runtime
    info	[Changelog]   - Model Container has a new parameter image_type
    info	[Changelog]   - Model ContainerApp has a new parameter patching_configuration
    info	[Changelog]   - Model CustomDomainConfiguration has a new parameter certificate_key_vault_properties
    info	[Changelog]   - Model DaprComponent has a new parameter service_component_bind
    info	[Changelog]   - Model GithubActionConfiguration has a new parameter build_environment_variables
    info	[Changelog]   - Model Ingress has a new parameter additional_port_mappings
    info	[Changelog]   - Model Ingress has a new parameter target_port_http_scheme
    info	[Changelog]   - Model InitContainer has a new parameter image_type
    info	[Changelog]   - Model Job has a new parameter extended_location
    info	[Changelog]   - Model JobPatchProperties has a new parameter extended_location
    info	[Changelog]   - Model LogAnalyticsConfiguration has a new parameter dynamic_json_columns
    info	[Changelog]   - Model Login has a new parameter token_store
    info	[Changelog]   - Model ManagedEnvironment has a new parameter app_insights_configuration
    info	[Changelog]   - Model ManagedEnvironment has a new parameter identity
    info	[Changelog]   - Model ManagedEnvironment has a new parameter open_telemetry_configuration
    info	[Changelog]   - Model ManagedEnvironment has a new parameter peer_traffic_configuration
    info	[Changelog]   - Model ManagedEnvironmentStorageProperties has a new parameter nfs_azure_file
    info	[Changelog]   - Model ServiceBind has a new parameter client_type
    info	[Changelog]   - Model ServiceBind has a new parameter customized_keys
️⚠️ azure-sdk-for-java warning [Detail]
  • ⚠️Warning [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. SDK Automation 14.0.0
    command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
    cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 24.0
    cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
    cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 24.0
    cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
    cmderr	[init.sh]  Average Speed   Time    Time     Time  Current
    cmderr	[init.sh]                                  Dload  Upload   Total   Spent    Left  Speed
    cmderr	[init.sh] 
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    cmderr	[init.sh] Downloading https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz...
    cmderr	[init.sh] Computing checksum with sha256sum
    cmderr	[init.sh] Checksums matched!
    command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
  • ️✔️azure-resourcemanager-appcontainers [View full logs]  [Preview SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. SDK Automation 14.0.0
    command	sh ./eng/scripts/automation_init.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json
    command	generator automation-v2 ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
  • ️✔️sdk/resourcemanager/appcontainers/armappcontainers [View full logs]  [Preview SDK Changes]
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. SDK Automation 14.0.0
    command	sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json
    warn	File azure-sdk-for-js_tmp/initOutput.json not found to read
    command	sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json
  • ️✔️@azure/arm-appcontainers [View full logs]  [Preview SDK Changes]
️⚠️ azure-resource-manager-schemas warning [Detail]
  • ⚠️Warning [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. Schema Automation 14.0.0
    command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
    cmderr	[initScript.sh]  notice
    cmderr	[initScript.sh] npm notice New minor version of npm available! 10.2.4 -> 10.5.0
    cmderr	[initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.0>
    cmderr	[initScript.sh] npm notice Run `npm install -g [email protected]` to update!
    cmderr	[initScript.sh] npm notice
    warn	File azure-resource-manager-schemas_tmp/initOutput.json not found to read
    command	.sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
️️✔️ azure-powershell succeeded [Detail] [Expand]
  • ️✔️Succeeded [Logs] Generate from b5f1990d22f54b27aeb0968bd4f396e7c089089b. SDK Automation 14.0.0
    command	sh ./tools/SwaggerCI/init.sh ../azure-powershell_tmp/initInput.json ../azure-powershell_tmp/initOutput.json
    command	pwsh ./tools/SwaggerCI/psci.ps1 ../azure-powershell_tmp/generateInput.json ../azure-powershell_tmp/generateOutput.json
  • ️✔️Az.app.DefaultTag [View full logs]  [Preview SDK Changes]
Posted by Swagger Pipeline | How to fix these errors?

@@ -728,6 +731,10 @@
"$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName",
"description": "Workload profile name to pin for container app execution."
},
"s2CAutoPatchConfiguration": {
Copy link
Contributor

@ms-zhenhua ms-zhenhua Mar 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

},
"readOnly": true
},
"PatchProperties": {
Copy link
Contributor

@ms-zhenhua ms-zhenhua Mar 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add description for PatchProperties #Resolved

},
"newLayer": {
"type": "object",
"properties": {
Copy link
Contributor

@ms-zhenhua ms-zhenhua Mar 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you want to use flatten here - your newLayer and oldLayer property names will collide if you do.

},
"oldLayer": {
"type": "object",
"properties": {
Copy link
Contributor

@ms-zhenhua ms-zhenhua Mar 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you want to use flatten here - your newLayer and oldLayer property names will collide if you do.

}
}
},
"delete": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is put not supported? how is this resource created?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure thing!

For both ContainerAppsBuilds and ContainerAppsPatches, the proxy resources are created by services ourselves. ContainerAppsBuilds are created when user uploads a file to the upload endpoint of container app, ContainerAppsPatches are created when the control plane retrieves new detected vulnerability reports generated in data plane.

ContainerAppsPatches allow users to interact with it by applying, skipping, or deleting a patch. ContainerAppsBuilds is a representation of the image-building process when users upload their files to the specific container app.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason you couldn't use PUT of this type instead of (or in addition to) the other "upload" API/process to create the build? That would be a more ARM-like model.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, the /upload is the only way to trigger the creation of this proxy resource. Reason being the build is more of a service that automatically gets triggered when users upload their source codes.

Similarly, patches are not created by user, but created when provider detected new potential patches the users can apply.

fyi, this type of design was introduced and approved in the past in #25446. We're aiming to add patching back specified in that PR, but move it under Microsoft.app/containerApps rather than Microsoft.App/builders. Meanwhile, we decided to adopt this design since ContainerAppsBuilds gets created and managed in a very similar fashion.

}
}
},
"delete": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is put not supported? how is this resource created?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in another comment

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See question in the other comment.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in the other comment

@ms-zhenhua ms-zhenhua added ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Mar 1, 2024
Copy link

Please address or respond to feedback from the ARM API reviewer.
When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
This will notify the reviewer to have another look.
If the feedback provided needs further discussion, please use this Teams channel to post your questions - aka.ms/azsdk/support/specreview-channel.
Please include [ARM Query] in the title of your question to indicate that it is ARM-related.

@harryli0108
Copy link
Member Author

Providing contexts for future reviewers:

For both ContainerAppsBuilds and ContainerAppsPatches, the proxy resources are created by services ourselves. ContainerAppsBuilds are created when user uploads a file to the upload endpoint of container app, and ContainerAppsPatches are created when the control plane retrieves new detected vulnerability reports generated in data plane.

ContainerAppsPatches allow users to interact with it by applying, skipping, or deleting a patch. ContainerAppsBuilds is a representation of the image-building process when users upload their files to the specific container app.

FYI: Patch was once a proxy resource of Microsoft.app/Builders. The design was approved in PR #25446 but reverted before release because RP wasn't ready at the time.

@harryli0108 harryli0108 removed the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 1, 2024
@openapi-workflow-bot openapi-workflow-bot bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 1, 2024
"type": "string",
"description": "The name of the target image for the patch.",
"readOnly": true
},
Copy link
Member

@TimLovellSmith TimLovellSmith Mar 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am guessing these are references to azure resources? (I might be wrong... ) Consider instead using full azure resource ids, so that its a flexible API with respect to resource container, like subscription, resource group, management group.

},
"description": "New layer update details in the target image.",
"readOnly": true,
"x-ms-client-flatten": true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"x-ms-client-flatten": true

Flatten is no longer recommended, in general, due to its propensity to cause name collisions

},
"description": "The old layer details in the target image.",
"readOnly": true,
"x-ms-client-flatten": true
Copy link
Member

@TimLovellSmith TimLovellSmith Mar 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

had better remove

"targetEnvironmentId": {
"format": "arm-id",
"type": "string",
"description": "The id of the target environment for the patch."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

id

Azure resource ID

"targetContainerAppId": {
"format": "arm-id",
"type": "string",
"description": "The id of the target container app for the patch."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

id

Azure resource ID

"targetRevisionId": {
"format": "arm-id",
"type": "string",
"description": "The id of the target revision for the patch."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

id

Azure resource ID?

"$ref": "#/definitions/PatchProvisioningState",
"description": "Patch provisioning state.",
"readOnly": true
},
Copy link
Member

@TimLovellSmith TimLovellSmith Mar 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a doubt about whether its really a provisioning state - is just apply status good enough?

"description": "The status of the patch operation once it has been provisioned",
"readOnly": true
},
"createdTime": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"description": "The UTC timestamp that describes when the patch object was created.",
"readOnly": true
},
"updatedTime": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TimLovellSmith TimLovellSmith added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 5, 2024
@openapi-workflow-bot openapi-workflow-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 5, 2024
@harryli0108 harryli0108 removed the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 14, 2024
@openapi-workflow-bot openapi-workflow-bot bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 14, 2024
@raosuhas raosuhas added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Mar 15, 2024
@openapi-workflow-bot openapi-workflow-bot bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Mar 15, 2024
@harryli0108
Copy link
Member Author

/pr RequestMerge

@raosuhas raosuhas merged commit 18fdfcc into release-app-Microsoft.App-2024-02-02-preview Mar 15, 2024
28 checks passed
@raosuhas raosuhas deleted the harrli/add-cloudbuild-cloudpatch branch March 15, 2024 21:15
Juliehzl pushed a commit to Juliehzl/azure-rest-api-specs that referenced this pull request Jun 4, 2024
* Added CloudBuild and CloudPatch

* Fixed pipeline errors

* Added ContainerApp example

* Fixed typo in example

* Fixed linting error

* Fixed spacing

* Addressed comments

* Addressed comments and modified sample

* Fixed linting error

* Addressed comments

* Linting

* Fixed typo

* Fixed Typo

* Resolving model validation error
mentat9 pushed a commit that referenced this pull request Jun 17, 2024
* Adds base for updating Microsoft.App from version preview/2023-11-02-preview to version 2024-02-02-preview

* Updates readme

* Updates API version in new specs and examples

* Functions Extension endpoint for Web RP (#27873)

* Functions extension api-spec commit

* merge with latest

* Functions Extension in 2024-02-02-preview

* correcetd version in readme

* avacado fail fix - version

* pattern addition

* fix for PathForResourceAction

* lint diff and model validation checks

* AutoRest exception fix

* endpoint response as string and not schema

* response schema with string

* example schema

* example within spec

* extension example with data

* extensions example with body

* body as string

* [Microsoft.App] add runtime attribute to app configuration (#27892)

* add configuration.runtime for apps

* Add Nacos For Java Component. (#28045)

* Add Nacos For Java Component.

* fix spell check.

* [Container Apps] Update Runtime to add DotNet support (#28001)

* [Container Apps] Update Runtime to add DotNet support

* Remove default value

* Rename dotNet to dotnet

* [Container Apps] Remove AspireResourceServerApi type for DotNetComponent (#28005)

* [Container Apps] Remove AspireResourceServerApi type for DotNetComponent

* Only keep changes to 2024-02-02-preview

* [ContainerApp] Support peer traffic encryption. (#28129)

* Make the JavaComponent definitions polymorphism and expose fqdn for sba and eureka (#28102)

* Make the JavaComponent definitions polymorphism

* fix api version

* revert error response change

* refine examples

* fix default value

* fix

* fix

* try to remove required

* try remove require in patch body

* fix

* try fix lint

* fix

* add suppression for discriminator

* fix

---------

Co-authored-by: Xuyang Cao <[email protected]>

* ContainerAppsBuild and ContainerAppsPatch API (#27982)

* Added CloudBuild and CloudPatch

* Fixed pipeline errors

* Added ContainerApp example

* Fixed typo in example

* Fixed linting error

* Fixed spacing

* Addressed comments

* Addressed comments and modified sample

* Fixed linting error

* Addressed comments

* Linting

* Fixed typo

* Fixed Typo

* Resolving model validation error

* [Microsoft.App] add java agent related properties (#28192)

* add java agent related properties

* fix build error

* fix format

* re-run pipeline

* update enum list and fix typo

* revert cspell config

* update level field type from enum to string

* add identifiers for array prop

* Fix error response for aca (#28425)

* fix

* fix

* Adding identity for scale rules (#28283)

* Adding identity for scale rules

* fix scale example

* Fix schema issue for Microsoft.App in 2024-02-02-preview (#28454)

* fix

* fix

* fix

* fix

* fix

* fix

* Update Container Apps Swagger Schema to include kind property  (#28405)

* Added support for KIND property to container apps schema

* added reference to example request schema

* prettier check

* changes to example conforming to swagger

* used enum for app kind

* minor fixes

* merged main

* Revert "merged main"

This reverts commit 2437d60.

* fixed checks

* Add detailed job execution to api (#27977)

* Add detailed job execution to api

* Add fields

* address comment

* add x-ms-identifiers

* prettier

* address comments

* Address comments

* Address comments

* update example

* Fix property name

* Fix example

* [Microsoft.App] optimize java agent related properties (#28573)

* optimize java agent related props

* fix

* adding logging property to include logger settings

---------

Co-authored-by: Bowen Wan <[email protected]>

* Add accountName for queueScaler (#28672)

* add accountName for queueScaler

* updated example

* updated

* updated

* updated

* Adding identity settings (#28117)

* Adding identity settings

* fix casing in examples

* Switch to array since ARM doesn't allow dictionaries.

* identity property should be required.

* prettier

* Updating description

* Adding Jobs spec

* Update specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Jobs.json

Co-authored-by: Jitin John <[email protected]>

* Move IdentitySettings to CommonDefinitions

---------

Co-authored-by: Jitin John <[email protected]>

* Add SessionPools and Sessions (#28047)

* Add SessionPools.json and Sessions.json

* Add private endpoint connections for managed environment (#28775)

* add pe

* fix

* fix

* fix

* fix

* fix

* fix

* use v5

* fix

* fix

* Add support for SMB storage in connectedEnvironment (#29158)

* Add support for SMB storage in connectedEnvironment

* move smb properties to common

* fix reference

---------

Co-authored-by: [email protected] <[email protected]>

* API spec for LogicApps extension on Microsoft.App (#29083)

* API spec for LogicApps extension on Microsoft.App

* format

* fix typos

* fix issues

* fix example references

* fix more issues

* fix issues

* fix more model validation

* fix

* fix model

* fix format

* fix lintdiff

* fix example

* fix headers

* add delete

* add missing file

---------

Co-authored-by: Anand G Menon <[email protected]>

* Add publicNetworkAccess in managed environment (#29092)

* fix

* fix

* fix example

* fix lint

* revert previous change for patch

* fix go sdk duplicate schema

* fix go sdk duplicate schema

* fix billing meter

* fix billing meter

---------

Co-authored-by: Jitin John <[email protected]>
Co-authored-by: SushmithaVReddy <[email protected]>
Co-authored-by: sonwan2020 <[email protected]>
Co-authored-by: Xiangyang Yu <[email protected]>
Co-authored-by: daniv-msft <[email protected]>
Co-authored-by: Xuyang Cao <[email protected]>
Co-authored-by: Xuyang Cao <[email protected]>
Co-authored-by: Harry Li <[email protected]>
Co-authored-by: Jimmy Fang <[email protected]>
Co-authored-by: Vaclav Turecek <[email protected]>
Co-authored-by: Shubham Sachdeva <[email protected]>
Co-authored-by: lihaMSFT <[email protected]>
Co-authored-by: Bowen Wan <[email protected]>
Co-authored-by: njucz <[email protected]>
Co-authored-by: yitaopan <[email protected]>
Co-authored-by: anandgmenon <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants