Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions ocp_resources/image_content_source_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,27 @@ class ImageContentSourcePolicy(Resource):
"""

api_group = Resource.ApiGroup.OPERATOR_OPENSHIFT_IO

def __init__(self, repository_digest_mirrors, **kwargs):
"""
Create/Manage ICSP configuration object. API reference:
https://docs.openshift.com/container-platform/4.12/rest_api/operator_apis/imagecontentsourcepolicy-operator-openshift-io-v1alpha1.html

Args:
repository_digest_mirrors (list of dict):
e.g. [{source: <str>, mirrors: <list>}, ..., {source: <str>, mirrors: <list>}]
- source - the repository that users refer to, e.g. in image pull specifications
- mirrors - one or more repositories (str) that may also contain the same images. The order
of mirrors in this list is treated as the user’s desired priority
"""
self.repository_digest_mirrors = repository_digest_mirrors
super().__init__(**kwargs)

def to_dict(self):
super().to_dict()
if not self.yaml_file:
if not self.repository_digest_mirrors:
raise ValueError("repository_digest_mirrors must be defined")
self.res["spec"] = {
"repositoryDigestMirrors": self.repository_digest_mirrors
}