Skip to content

Commit 1c2781c

Browse files
author
Yalin Li
authored
[ACR] Fix content validation issues for github.io (#37269)
1 parent 156a08a commit 1c2781c

File tree

11 files changed

+98
-94
lines changed

11 files changed

+98
-94
lines changed

sdk/containerregistry/azure-containerregistry/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ For more information please see [Container Registry Concepts](https://docs.micro
6565
The following sections provide several code snippets covering some of the most common ACR Service tasks, including:
6666

6767
- Registry operations:
68-
- [List repositories](#list-repositories)
69-
- [List tags with anonymous access](#list-tags-with-anonymous-access)
70-
- [Set artifact properties](#set-artifact-properties)
71-
- [Delete images](#delete-images)
68+
- [List repositories](#list-repositories "List repositories")
69+
- [List tags with anonymous access](#list-tags-with-anonymous-access "List tags with anonymous access")
70+
- [Set artifact properties](#set-artifact-properties "Set artifact properties")
71+
- [Delete images](#delete-images "Delete images")
7272
- Blob and manifest operations:
73-
- [Upload images](#upload-images)
74-
- [Download images](#download-images)
75-
- [Delete manifest](#delete-manifest)
76-
- [Delete blob](#delete-blob)
73+
- [Upload images](#upload-images "Upload images")
74+
- [Download images](#download-images "Download images")
75+
- [Delete manifests](#delete-manifests "Delete manifests")
76+
- [Delete blobs](#delete-blobs "Delete blobs")
7777

7878
Please note that each sample assumes there is a `CONTAINERREGISTRY_ENDPOINT` environment variable set to a string containing the `https://` prefix and the name of the login server, for example "https://myregistry.azurecr.io". Anonymous access samples are getting endpoint value from environment variable`CONTAINERREGISTRY_ANONREGISTRY_ENDPOINT`.
7979

@@ -238,7 +238,7 @@ with ContainerRegistryClient(self.endpoint, self.credential) as client:
238238

239239
<!-- END SNIPPET -->
240240

241-
### Delete manifest
241+
### Delete manifests
242242

243243
<!-- SNIPPET:sample_set_get_image.delete_manifest -->
244244

@@ -251,7 +251,7 @@ with ContainerRegistryClient(self.endpoint, self.credential) as client:
251251

252252
<!-- END SNIPPET -->
253253

254-
### Delete blob
254+
### Delete blobs
255255

256256
<!-- SNIPPET:sample_set_get_image.delete_blob -->
257257

sdk/containerregistry/azure-containerregistry/azure/containerregistry/_anonymous_exchange_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
class AnonymousAccessCredential(TokenCredential):
1919
def get_token(
20-
self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs
20+
self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs: Any
2121
) -> AccessToken:
2222
raise ValueError("This credential cannot be used to obtain access tokens.")
2323

@@ -46,7 +46,7 @@ def __init__( # pylint: disable=missing-client-constructor-parameter-credential
4646
)
4747

4848
def get_acr_access_token( # pylint:disable=client-method-missing-tracing-decorator
49-
self, challenge: str, **kwargs
49+
self, challenge: str, **kwargs: Any
5050
) -> Optional[str]:
5151
parsed_challenge = _parse_challenge(challenge)
5252
return self.exchange_refresh_token_for_access_token(
@@ -58,7 +58,7 @@ def get_acr_access_token( # pylint:disable=client-method-missing-tracing-decora
5858
)
5959

6060
def exchange_refresh_token_for_access_token( # pylint:disable=client-method-missing-tracing-decorator
61-
self, refresh_token: str, service: str, scope: str, grant_type: Union[str, TokenGrantType], **kwargs
61+
self, refresh_token: str, service: str, scope: str, grant_type: Union[str, TokenGrantType], **kwargs: Any
6262
) -> Optional[str]:
6363
auth_operation = cast(AuthenticationOperations, self._client.authentication)
6464
access_token = auth_operation.exchange_acr_refresh_token_for_acr_access_token(

sdk/containerregistry/azure-containerregistry/azure/containerregistry/_base_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class TransportWrapper(HttpTransport):
7171
def __init__(self, transport):
7272
self._transport = transport
7373

74-
def send(self, request, **kwargs):
74+
def send(self, request, **kwargs: Any):
7575
return self._transport.send(request, **kwargs)
7676

7777
def open(self):

sdk/containerregistry/azure-containerregistry/azure/containerregistry/_container_registry_client.py

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ def _get_digest_from_tag(self, repository: str, tag: str) -> str:
117117
return tag_props.digest
118118

119119
@distributed_trace
120-
def delete_repository(self, repository: str, **kwargs) -> None:
120+
def delete_repository(self, repository: str, **kwargs: Any) -> None:
121121
"""Delete a repository. If the repository cannot be found or a response status code of
122122
404 is returned an error will not be raised.
123123
124124
:param str repository: The repository to delete
125125
:returns: None
126126
:rtype: None
127-
:raises: ~azure.core.exceptions.HttpResponseError
127+
:raises ~azure.core.exceptions.HttpResponseError:
128128
129129
.. admonition:: Example:
130130
@@ -138,14 +138,14 @@ def delete_repository(self, repository: str, **kwargs) -> None:
138138
self._client.container_registry.delete_repository(repository, **kwargs)
139139

140140
@distributed_trace
141-
def list_repository_names(self, *, results_per_page: Optional[int] = None, **kwargs) -> ItemPaged[str]:
141+
def list_repository_names(self, *, results_per_page: Optional[int] = None, **kwargs: Any) -> ItemPaged[str]:
142142
"""List all repositories
143143
144144
:keyword results_per_page: Number of repositories to return per page
145145
:paramtype results_per_page: int
146146
:returns: An iterable of strings
147147
:rtype: ~azure.core.paging.ItemPaged[str]
148-
:raises: ~azure.core.exceptions.HttpResponseError
148+
:raises ~azure.core.exceptions.HttpResponseError:
149149
150150
.. admonition:: Example:
151151
@@ -244,13 +244,13 @@ def get_next(next_link=None):
244244
return ItemPaged(get_next, extract_data)
245245

246246
@distributed_trace
247-
def get_repository_properties(self, repository: str, **kwargs) -> RepositoryProperties:
247+
def get_repository_properties(self, repository: str, **kwargs: Any) -> RepositoryProperties:
248248
"""Get the properties of a repository
249249
250250
:param str repository: Name of the repository
251251
:rtype: ~azure.containerregistry.RepositoryProperties
252252
:return: The properties of a repository
253-
:raises: ~azure.core.exceptions.ResourceNotFoundError
253+
:raises ~azure.core.exceptions.ResourceNotFoundError:
254254
"""
255255
return RepositoryProperties._from_generated( # pylint: disable=protected-access
256256
self._client.container_registry.get_properties(repository, **kwargs)
@@ -263,7 +263,7 @@ def list_manifest_properties(
263263
*,
264264
order_by: Optional[Union["ArtifactManifestOrder", str]] = None,
265265
results_per_page: Optional[int] = None,
266-
**kwargs,
266+
**kwargs: Any,
267267
) -> ItemPaged[ArtifactManifestProperties]:
268268
"""List the artifacts for a repository
269269
@@ -274,7 +274,7 @@ def list_manifest_properties(
274274
:paramtype results_per_page: int
275275
:returns: An iterable of :class:`~azure.containerregistry.ArtifactManifestProperties`
276276
:rtype: ~azure.core.paging.ItemPaged[~azure.containerregistry.ArtifactManifestProperties]
277-
:raises: ~azure.core.exceptions.ResourceNotFoundError
277+
:raises ~azure.core.exceptions.ResourceNotFoundError:
278278
"""
279279
name = repository
280280
last = kwargs.pop("last", None)
@@ -380,15 +380,15 @@ def get_next(next_link=None):
380380
return ItemPaged(get_next, extract_data)
381381

382382
@distributed_trace
383-
def delete_tag(self, repository: str, tag: str, **kwargs) -> None:
383+
def delete_tag(self, repository: str, tag: str, **kwargs: Any) -> None:
384384
"""Delete a tag from a repository. If the tag cannot be found or a response status code of
385385
404 is returned an error will not be raised.
386386
387387
:param str repository: Name of the repository the tag belongs to
388388
:param str tag: The tag to be deleted
389389
:returns: None
390390
:rtype: None
391-
:raises: ~azure.core.exceptions.HttpResponseError
391+
:raises ~azure.core.exceptions.HttpResponseError:
392392
393393
Example
394394
@@ -404,14 +404,14 @@ def delete_tag(self, repository: str, tag: str, **kwargs) -> None:
404404
self._client.container_registry.delete_tag(repository, tag, **kwargs)
405405

406406
@distributed_trace
407-
def get_manifest_properties(self, repository: str, tag_or_digest: str, **kwargs) -> ArtifactManifestProperties:
407+
def get_manifest_properties(self, repository: str, tag_or_digest: str, **kwargs: Any) -> ArtifactManifestProperties:
408408
"""Get the properties of a registry artifact
409409
410410
:param str repository: Name of the repository
411411
:param str tag_or_digest: Tag or digest of the manifest
412412
:return: The properties of a registry artifact
413413
:rtype: ~azure.containerregistry.ArtifactManifestProperties
414-
:raises: ~azure.core.exceptions.ResourceNotFoundError
414+
:raises ~azure.core.exceptions.ResourceNotFoundError:
415415
416416
Example
417417
@@ -437,14 +437,14 @@ def get_manifest_properties(self, repository: str, tag_or_digest: str, **kwargs)
437437
)
438438

439439
@distributed_trace
440-
def get_tag_properties(self, repository: str, tag: str, **kwargs) -> ArtifactTagProperties:
440+
def get_tag_properties(self, repository: str, tag: str, **kwargs: Any) -> ArtifactTagProperties:
441441
"""Get the properties for a tag
442442
443443
:param str repository: Name of the repository
444444
:param str tag: The tag to get tag properties for
445445
:return: The properties for a tag
446446
:rtype: ~azure.containerregistry.ArtifactTagProperties
447-
:raises: ~azure.core.exceptions.ResourceNotFoundError
447+
:raises ~azure.core.exceptions.ResourceNotFoundError:
448448
449449
Example
450450
@@ -470,7 +470,7 @@ def list_tag_properties(
470470
*,
471471
order_by: Optional[Union["ArtifactTagOrder", str]] = None,
472472
results_per_page: Optional[int] = None,
473-
**kwargs,
473+
**kwargs: Any,
474474
) -> ItemPaged[ArtifactTagProperties]:
475475
"""List the tags for a repository
476476
@@ -481,7 +481,7 @@ def list_tag_properties(
481481
:paramtype results_per_page: int
482482
:returns: An iterable of :class:`~azure.containerregistry.ArtifactTagProperties`
483483
:rtype: ~azure.core.paging.ItemPaged[~azure.containerregistry.ArtifactTagProperties]
484-
:raises: ~azure.core.exceptions.ResourceNotFoundError
484+
:raises ~azure.core.exceptions.ResourceNotFoundError:
485485
486486
Example
487487
@@ -612,7 +612,7 @@ def update_manifest_properties(
612612
parameter. Please provide either this or individual keyword parameters.
613613
:type properties: ~azure.containerregistry.ArtifactManifestProperties
614614
:rtype: ~azure.containerregistry.ArtifactManifestProperties
615-
:raises: ~azure.core.exceptions.ResourceNotFoundError
615+
:raises ~azure.core.exceptions.ResourceNotFoundError:
616616
617617
Example
618618
@@ -656,7 +656,7 @@ def update_manifest_properties(
656656
:keyword bool can_read: Read permissions for a manifest.
657657
:keyword bool can_write: Write permissions for a manifest.
658658
:rtype: ~azure.containerregistry.ArtifactManifestProperties
659-
:raises: ~azure.core.exceptions.ResourceNotFoundError
659+
:raises ~azure.core.exceptions.ResourceNotFoundError:
660660
661661
Example
662662
@@ -679,7 +679,7 @@ def update_manifest_properties(
679679

680680
@distributed_trace
681681
def update_manifest_properties(
682-
self, *args: Union[str, ArtifactManifestProperties], **kwargs
682+
self, *args: Union[str, ArtifactManifestProperties], **kwargs: Any
683683
) -> ArtifactManifestProperties:
684684
repository = str(args[0])
685685
tag_or_digest = str(args[1])
@@ -720,7 +720,7 @@ def update_tag_properties(
720720
parameter. Please provide either this or individual keyword parameters.
721721
:type properties: ~azure.containerregistry.ArtifactTagProperties
722722
:rtype: ~azure.containerregistry.ArtifactTagProperties
723-
:raises: ~azure.core.exceptions.ResourceNotFoundError
723+
:raises ~azure.core.exceptions.ResourceNotFoundError:
724724
725725
Example
726726
@@ -761,7 +761,7 @@ def update_tag_properties(
761761
:keyword bool can_read: Read permissions for a tag.
762762
:keyword bool can_write: Write permissions for a tag.
763763
:rtype: ~azure.containerregistry.ArtifactTagProperties
764-
:raises: ~azure.core.exceptions.ResourceNotFoundError
764+
:raises ~azure.core.exceptions.ResourceNotFoundError:
765765
766766
Example
767767
@@ -782,7 +782,7 @@ def update_tag_properties(
782782
"""
783783

784784
@distributed_trace
785-
def update_tag_properties(self, *args: Union[str, ArtifactTagProperties], **kwargs) -> ArtifactTagProperties:
785+
def update_tag_properties(self, *args: Union[str, ArtifactTagProperties], **kwargs: Any) -> ArtifactTagProperties:
786786
repository = str(args[0])
787787
tag = str(args[1])
788788
properties = None
@@ -817,7 +817,7 @@ def update_repository_properties(
817817
parameter. Please provide either this or individual keyword parameters.
818818
:type properties: ~azure.containerregistry.RepositoryProperties
819819
:rtype: ~azure.containerregistry.RepositoryProperties
820-
:raises: ~azure.core.exceptions.ResourceNotFoundError
820+
:raises ~azure.core.exceptions.ResourceNotFoundError:
821821
"""
822822

823823
@overload
@@ -841,11 +841,13 @@ def update_repository_properties(
841841
:keyword bool can_read: Read permissions for a repository.
842842
:keyword bool can_write: Write permissions for a repository.
843843
:rtype: ~azure.containerregistry.RepositoryProperties
844-
:raises: ~azure.core.exceptions.ResourceNotFoundError
844+
:raises ~azure.core.exceptions.ResourceNotFoundError:
845845
"""
846846

847847
@distributed_trace
848-
def update_repository_properties(self, *args: Union[str, RepositoryProperties], **kwargs) -> RepositoryProperties:
848+
def update_repository_properties(
849+
self, *args: Union[str, RepositoryProperties], **kwargs: Any
850+
) -> RepositoryProperties:
849851
repository = str(args[0])
850852
properties = None
851853
if len(args) == 2:
@@ -872,7 +874,7 @@ def set_manifest(
872874
*,
873875
tag: Optional[str] = None,
874876
media_type: str = OCI_IMAGE_MANIFEST,
875-
**kwargs,
877+
**kwargs: Any,
876878
) -> str:
877879
"""Set a manifest for an artifact.
878880
@@ -919,7 +921,7 @@ def set_manifest(
919921
return digest
920922

921923
@distributed_trace
922-
def get_manifest(self, repository: str, tag_or_digest: str, **kwargs) -> GetManifestResult:
924+
def get_manifest(self, repository: str, tag_or_digest: str, **kwargs: Any) -> GetManifestResult:
923925
"""Get the manifest for an artifact.
924926
925927
:param str repository: Name of the repository.
@@ -965,7 +967,7 @@ def get_manifest(self, repository: str, tag_or_digest: str, **kwargs) -> GetMani
965967
return GetManifestResult(digest=digest, manifest=manifest_json, media_type=media_type)
966968

967969
@distributed_trace
968-
def upload_blob(self, repository: str, data: IO[bytes], **kwargs) -> Tuple[str, int]:
970+
def upload_blob(self, repository: str, data: IO[bytes], **kwargs: Any) -> Tuple[str, int]:
969971
"""Upload an artifact blob.
970972
971973
:param str repository: Name of the repository.
@@ -1017,7 +1019,7 @@ def _upload_blob_chunk(self, location: str, data: IO[bytes], **kwargs) -> Tuple[
10171019
return f"sha256:{hasher.hexdigest()}", location, blob_size
10181020

10191021
@distributed_trace
1020-
def download_blob(self, repository: str, digest: str, **kwargs) -> DownloadBlobStream:
1022+
def download_blob(self, repository: str, digest: str, **kwargs: Any) -> DownloadBlobStream:
10211023
"""Download a blob that is part of an artifact to a stream.
10221024
10231025
:param str repository: Name of the repository.
@@ -1052,14 +1054,14 @@ def download_blob(self, repository: str, digest: str, **kwargs) -> DownloadBlobS
10521054
)
10531055

10541056
@distributed_trace
1055-
def delete_manifest(self, repository: str, tag_or_digest: str, **kwargs) -> None:
1057+
def delete_manifest(self, repository: str, tag_or_digest: str, **kwargs: Any) -> None:
10561058
"""Delete a manifest. If the manifest cannot be found or a response status code of
10571059
404 is returned an error will not be raised.
10581060
10591061
:param str repository: Name of the repository the manifest belongs to
10601062
:param str tag_or_digest: Tag or digest of the manifest to be deleted
10611063
:returns: None
1062-
:raises: ~azure.core.exceptions.HttpResponseError
1064+
:raises ~azure.core.exceptions.HttpResponseError:
10631065
10641066
Example
10651067
@@ -1077,7 +1079,7 @@ def delete_manifest(self, repository: str, tag_or_digest: str, **kwargs) -> None
10771079
self._client.container_registry.delete_manifest(repository, tag_or_digest, **kwargs)
10781080

10791081
@distributed_trace
1080-
def delete_blob(self, repository: str, digest: str, **kwargs) -> None:
1082+
def delete_blob(self, repository: str, digest: str, **kwargs: Any) -> None:
10811083
"""Delete a blob. If the blob cannot be found or a response status code of
10821084
404 is returned an error will not be raised.
10831085

sdk/containerregistry/azure-containerregistry/azure/containerregistry/_exchange_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def __init__(self, endpoint: str, credential: TokenCredential, **kwargs: Any) ->
5757
self._expiration_time: float = 0
5858

5959
def get_acr_access_token( # pylint:disable=client-method-missing-tracing-decorator
60-
self, challenge: str, **kwargs
60+
self, challenge: str, **kwargs: Any
6161
) -> Optional[str]:
6262
parsed_challenge = _parse_challenge(challenge)
6363
refresh_token = self.get_refresh_token(parsed_challenge["service"], **kwargs)
@@ -66,15 +66,15 @@ def get_acr_access_token( # pylint:disable=client-method-missing-tracing-decora
6666
)
6767

6868
def get_refresh_token( # pylint:disable=client-method-missing-tracing-decorator
69-
self, service: str, **kwargs
69+
self, service: str, **kwargs: Any
7070
) -> str:
7171
if not self._refresh_token or self._expiration_time - time.time() > 300:
7272
self._refresh_token = self.exchange_aad_token_for_refresh_token(service, **kwargs)
7373
self._expiration_time = _parse_exp_time(self._refresh_token)
7474
return self._refresh_token
7575

7676
def exchange_aad_token_for_refresh_token( # pylint:disable=client-method-missing-tracing-decorator
77-
self, service: str, **kwargs
77+
self, service: str, **kwargs: Any
7878
) -> str:
7979
auth_operation = cast(AuthenticationOperations, self._client.authentication)
8080
refresh_token = auth_operation.exchange_aad_access_token_for_acr_refresh_token(
@@ -86,7 +86,7 @@ def exchange_aad_token_for_refresh_token( # pylint:disable=client-method-missin
8686
return refresh_token.refresh_token if refresh_token.refresh_token is not None else ""
8787

8888
def exchange_refresh_token_for_access_token( # pylint:disable=client-method-missing-tracing-decorator
89-
self, refresh_token: str, service: str, scope: str, **kwargs
89+
self, refresh_token: str, service: str, scope: str, **kwargs: Any
9090
) -> Optional[str]:
9191
auth_operation = cast(AuthenticationOperations, self._client.authentication)
9292
access_token = auth_operation.exchange_acr_refresh_token_for_acr_access_token(

0 commit comments

Comments
 (0)