diff --git a/CHANGELOG.md b/CHANGELOG.md index c58b1fbab..04d1dd048 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ## Release (2026-xx-xx) +- `sfs`: [v0.3.0](services/sfs/CHANGELOG.md#v030) + - **Breaking change:** The `name` and `spaceHardLimitGigabytes` fields are now marked as required for `ShareExportPayload`, `SharePayload`. - `serviceaccount`: [v0.5.0](services/serviceaccount/CHANGELOG.md#v050) - **Feature:** add support for Federated Identity Providers - new operations: `CreateFederatedIdentityProvider`, `DeleteServiceFederatedIdentityProvider`, `ListFederatedIdentityProviders`,`PartialUpdateServiceAccountFederatedIdentityProvider` diff --git a/services/sfs/CHANGELOG.md b/services/sfs/CHANGELOG.md index 3c4b36cf0..01fb34faa 100644 --- a/services/sfs/CHANGELOG.md +++ b/services/sfs/CHANGELOG.md @@ -1,3 +1,6 @@ +## v0.3.0 +- **Breaking change:** The `name` and `spaceHardLimitGigabytes` fields are now marked as required for `ShareExportPayload`, `SharePayload`. + ## v0.2.0 - **Feature:** Switch from `v1beta` API version to `v1` version. - **Breaking change:** Remove `ListSnapshotSchedules` method diff --git a/services/sfs/oas_commit b/services/sfs/oas_commit index 31950d47b..5c20c2052 100644 --- a/services/sfs/oas_commit +++ b/services/sfs/oas_commit @@ -1 +1 @@ -9916269dab33d42aa2f1a5f30c80b954b6c1221f +fe212a12ec79a23b81cb53d9a7728f5706bddc23 diff --git a/services/sfs/pyproject.toml b/services/sfs/pyproject.toml index f1af1617d..48a4318bc 100644 --- a/services/sfs/pyproject.toml +++ b/services/sfs/pyproject.toml @@ -3,7 +3,7 @@ name = "stackit-sfs" [tool.poetry] name = "stackit-sfs" -version = "v0.2.0" +version = "v0.3.0" authors = [ "STACKIT Developer Tools ", ] diff --git a/services/sfs/src/stackit/sfs/models/create_share_export_policy_payload.py b/services/sfs/src/stackit/sfs/models/create_share_export_policy_payload.py index 87277d660..4f7956105 100644 --- a/services/sfs/src/stackit/sfs/models/create_share_export_policy_payload.py +++ b/services/sfs/src/stackit/sfs/models/create_share_export_policy_payload.py @@ -34,7 +34,7 @@ class CreateShareExportPolicyPayload(BaseModel): default=None, description="An optional object that represents the labels associated with the share export policy keys are validated using the following regex '^[\\\\p{Ll}][\\\\p{Ll}\\\\p{N}_-]*$' and cannot be empty values are validated using the following regex '^[\\\\p{Ll}\\\\p{N}_-]*$'", ) - name: Optional[StrictStr] = Field(default=None, description="Name of the Share Export Policy") + name: StrictStr = Field(description="Name of the Share Export Policy") rules: Optional[List[CreateShareExportPolicyRequestRule]] = Field( default=None, description='List of rules of the Share Export Policy. The order of the rules within the array does not matter - what matters is the field "order" within each rule', diff --git a/services/sfs/src/stackit/sfs/models/create_share_payload.py b/services/sfs/src/stackit/sfs/models/create_share_payload.py index fd423c132..12c029c35 100644 --- a/services/sfs/src/stackit/sfs/models/create_share_payload.py +++ b/services/sfs/src/stackit/sfs/models/create_share_payload.py @@ -35,9 +35,8 @@ class CreateSharePayload(BaseModel): default=None, description="An optional object that represents the labels associated with the share keys are validated using the following regex '^[\\\\p{Ll}][\\\\p{Ll}\\\\p{N}_-]*$' and cannot be empty values are validated using the following regex '^[\\\\p{Ll}\\\\p{N}_-]*$'", ) - name: Optional[StrictStr] = Field(default=None, description="Name of the Share") - space_hard_limit_gigabytes: Optional[StrictInt] = Field( - default=None, + name: StrictStr = Field(description="Name of the Share") + space_hard_limit_gigabytes: StrictInt = Field( description="Space hard limit for the Share. If zero, the Share will have access to the full space of the Resource Pool it lives in. (unit: gibibytes)", alias="spaceHardLimitGigabytes", ) diff --git a/services/sfs/src/stackit/sfs/models/resource_pool.py b/services/sfs/src/stackit/sfs/models/resource_pool.py index c89b6af87..18bbeaaf9 100644 --- a/services/sfs/src/stackit/sfs/models/resource_pool.py +++ b/services/sfs/src/stackit/sfs/models/resource_pool.py @@ -73,7 +73,7 @@ class ResourcePool(BaseModel): default=None, description="Time when the size can be reduced again.", alias="sizeReducibleAt" ) snapshots_are_visible: Optional[StrictBool] = Field( - default=None, + default=False, description="Whether the .snapshot directory is visible when mounting the resource pool. Setting this value to false might prevent you from accessing the snapshots (e.g. for security reasons). Additionally, the access to the snapshots is always controlled by the export policy of the resource pool. That means, if snapshots are visible and the export policy allows for reading the resource pool, then it also allows reading the snapshot of all shares.", alias="snapshotsAreVisible", ) @@ -209,7 +209,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: ), "performanceClassDowngradableAt": obj.get("performanceClassDowngradableAt"), "sizeReducibleAt": obj.get("sizeReducibleAt"), - "snapshotsAreVisible": obj.get("snapshotsAreVisible"), + "snapshotsAreVisible": ( + obj.get("snapshotsAreVisible") if obj.get("snapshotsAreVisible") is not None else False + ), "space": ResourcePoolSpace.from_dict(obj["space"]) if obj.get("space") is not None else None, "state": obj.get("state"), }