Sovereign European Cloud API (SECA) · Schema
ActivityLogIterator
Iterator for activity logs
CompanyCloudCloud InfrastructureSovereigntyEuropeOpen StandardsMulti-CloudInteroperabilityOpenAPI
Properties
| Name | Type | Description |
|---|---|---|
| items | array | List of activity logs |
| metadata | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/eu-sovereign-cloud-api/main/json-schema/eu-sovereign-cloud-api-activity-log-iterator-schema.json",
"title": "ActivityLogIterator",
"description": "Iterator for activity logs",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/eu-sovereign-cloud-api-extensions-activitylog-v1beta1-openapi.yml#/components/schemas/ActivityLogIterator",
"type": "object",
"required": [
"items",
"metadata"
],
"properties": {
"items": {
"description": "List of activity logs",
"type": "array",
"items": {
"$ref": "#/$defs/ActivityLog"
}
},
"metadata": {
"$ref": "#/$defs/ResponseMetadata"
}
},
"$defs": {
"ActivityLog": {
"type": "object",
"description": "Activity log resource",
"required": [
"spec"
],
"properties": {
"metadata": {
"$ref": "#/$defs/RegionalWorkspaceResourceMetadata"
},
"spec": {
"$ref": "#/$defs/ActivityLogSpec"
}
}
},
"ActivityLogSpec": {
"type": "object",
"description": "Activity log specification",
"properties": {
"subject": {
"type": "string",
"x-go-type-skip-optional-pointer": true,
"description": "User-JWT executing this query",
"maxLength": 256,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-length": "256"
}
},
"request": {
"$ref": "#/$defs/RequestObject"
},
"response": {
"$ref": "#/$defs/ResponseObject"
}
}
},
"Annotations": {
"x-go-type-skip-optional-pointer": true,
"type": "object",
"description": "User-defined key/value pairs that are mutable and can be used to add annotations.\nThe number of annotations is eventually limited by the CSP.\n",
"additionalProperties": {
"type": "string",
"maxLength": 1024
}
},
"BlockStorageSpec": {
"type": "object",
"description": "References the SKU used for this block.\nIf a reference to the source image is used as the base for creating this block storage.\n",
"required": [
"skuRef",
"sizeGB"
],
"properties": {
"skuRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the SKU of the block storage. The SKU is immutable after creation.\nIf you want to change the SKU, you need to create a new block storage and migrate the data.\n",
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "self == oldSelf",
"x-cel-message-0": "spec.skuRef is immutable"
}
},
"sizeGB": {
"type": "integer",
"description": "Size of the block storage in GB.",
"minimum": 1,
"maximum": 1000000,
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "self >= oldSelf",
"x-cel-message-0": "spec.sizeGB cannot be decreased",
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "1000000"
}
},
"sourceImageRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the source image used as the base for creating the block storage."
}
}
},
"IPVersion": {
"type": "string",
"description": "IP version of the address",
"enum": [
"IPv4",
"IPv6"
],
"x-enumNames": [
"IPVersionIPv4",
"IPVersionIPv6"
],
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "IPv4;IPv6"
}
},
"IcmpConfig": {
"type": "object",
"description": "ICMP specific rule configuration",
"required": [
"type",
"code"
],
"properties": {
"type": {
"type": "integer",
"description": "ICMP type",
"minimum": 0,
"maximum": 8,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "0",
"x-kubebuilder-validation-maximum": "8"
}
},
"code": {
"type": "integer",
"description": "ICMP code",
"minimum": 0,
"maximum": 5,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "0",
"x-kubebuilder-validation-maximum": "5"
}
}
}
},
"InstanceSkuGpuSpec": {
"type": "object",
"description": "Specification of the GPU(s) attached to an instance SKU.\n",
"required": [
"count",
"vendor",
"model",
"ram"
],
"properties": {
"count": {
"type": "integer",
"description": "The number of GPUs allocated to the instance SKU.\n",
"minimum": 1,
"maximum": 16,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "16"
}
},
"vendor": {
"type": "string",
"description": "The GPU vendor. An instance created with this SKU can only use images\nand drivers built for the same vendor.\n",
"enum": [
"nvidia",
"amd",
"intel"
],
"x-enumNames": [
"InstanceSkuGpuSpecVendorNvidia",
"InstanceSkuGpuSpecVendorAmd",
"InstanceSkuGpuSpecVendorIntel"
],
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "nvidia;amd;intel"
}
},
"model": {
"type": "string",
"description": "The GPU model name, as reported by the vendor (e.g. \"H100\", \"MI300X\",\n\"L40S\"). Free-form, since GPU model names change frequently as new\nhardware is released, unlike vendor, which is a small, stable set.\n",
"minLength": 1,
"maxLength": 64,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-min-length": "1",
"x-kubebuilder-validation-max-length": "64"
}
},
"ram": {
"type": "integer",
"description": "The amount of dedicated video memory (VRAM) per GPU, in GiB (gibibytes).\n",
"minimum": 1,
"maximum": 256,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "256"
}
}
}
},
"InstanceSkuSpec": {
"type": "object",
"description": "Specification of the instance SKU, including its capabilities and extensions.\n",
"required": [
"vCPU",
"ram",
"cpuArchitecture"
],
"properties": {
"vCPU": {
"type": "integer",
"description": "The number of virtual CPUs (vCPUs) allocated to the instance SKU.\nThis value represents the number of cores visible to the operating system.\nIt does not specify the number of physical processors or hyper-threads available.\n",
"minimum": 1,
"maximum": 60,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "60"
}
},
"ram": {
"type": "integer",
"description": "The amount of RAM (Random Access Memory) allocated to the instance SKU in GiB (gibibytes).\nThis value represents the total memory available to the instance.\n",
"minimum": 1,
"maximum": 65536,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "65536"
}
},
"cpuArchitecture": {
"type": "string",
"description": "CPU architecture provided by the instance SKU. An instance created with this\nSKU can only use images built for the same architecture.\n",
"enum": [
"amd64",
"arm64",
"riscv"
],
"x-enumNames": [
"InstanceSkuSpecCpuArchitectureAmd64",
"InstanceSkuSpecCpuArchitectureArm64",
"InstanceSkuSpecCpuArchitectureRiscv"
],
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "amd64;arm64;riscv"
}
},
"gpu": {
"allOf": [
{
"$ref": "#/$defs/InstanceSkuGpuSpec"
}
],
"description": "GPU specification for this instance SKU. Omitted for instance SKUs\nwithout a GPU.\n"
}
}
},
"InstanceSpec": {
"type": "object",
"description": "Specification of the instance, including its SKU, network configuration, and storage options.\n",
"required": [
"skuRef",
"zone",
"bootVolume"
],
"properties": {
"skuRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the SKU of the instance. The SKU is immutable after the instance is created.\nTo change the SKU, the instance must be deleted and recreated with the new SKU reference.\n",
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "self == oldSelf",
"x-cel-message-0": "spec.skuRef is immutable"
}
},
"primaryNicRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the primary NIC attached to this instance."
},
"additionalNicRefs": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 16,
"description": "Additional NICs attached to this instance",
"items": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to an additional NIC attached to this instance."
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-items": "16"
}
},
"zone": {
"allOf": [
{
"$ref": "#/$defs/Zone"
}
],
"description": "The zone in which the instance is deployed. The zone is immutable after the instance is created.\nTo change the zone, the instance must be deleted and recreated with the new zone.\n",
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "self == oldSelf",
"x-cel-message-0": "spec.zone is immutable",
"x-kubebuilder-validation-min-length": "1",
"x-kubebuilder-validation-max-length": "32"
}
},
"securityGroupRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the security group associated with this instance."
},
"userData": {
"type": "string",
"x-go-type-skip-optional-pointer": true,
"description": "Cloud-init user data for instance initialization\nExample cloud-init user configuration with SSH key:\n",
"maxLength": 65536,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-length": "65536"
}
},
"antiAffinityGroup": {
"description": "Anti-affinity group to which this instance belongs.\nInstances in the same anti-affinity group are placed on different physical hosts.\nThe number of maximum instances in an anti-affinity group is provider-specific.\n",
"type": "string",
"x-go-type-skip-optional-pointer": true,
"maxLength": 64,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-length": "64"
}
},
"sshKeys": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 32,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-length": "4096"
}
},
"description": "Provider-specific references to SSH keys used in cloud-init vendorData.\nThese references are used to inject SSH public keys during instance initialization\nthrough cloud-init's vendor data configuration.\n",
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-items-min-length": "1",
"x-kubebuilder-validation-items-max-length": "4096",
"x-kubebuilder-validation-max-items": "32"
}
},
"bootVolume": {
"allOf": [
{
"$ref": "#/$defs/VolumeReference"
}
],
"description": "Reference to the block storage used to store the boot volume of the instance."
},
"dataVolumes": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 64,
"items": {
"allOf": [
{
"$ref": "#/$defs/VolumeReference"
}
],
"description": "Reference to the block storage used to store an additional volume of the instance."
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-items": "64"
}
}
}
},
"LoadBalancerHealthCheck": {
"type": "object",
"description": "Optional port health check. It probes the port with protocol.",
"required": [
"interval",
"timeout",
"retry"
],
"properties": {
"type": {
"type": "string",
"x-go-type-skip-optional-pointer": true,
"description": "Specifies the type of health check. A `connect` health check attempts\nto establish a connection to the specified port to determine its health.\n",
"enum": [
"connect"
],
"x-enumNames": [
"LoadBalancerHealthCheckConnect"
],
"default": "connect",
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "connect",
"x-kubebuilder-default": "connect"
}
},
"interval": {
"type": "integer",
"description": "health check interval in seconds. It means after how many seconds it will take a new check",
"minimum": 1,
"maximum": 86400,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "86400"
}
},
"timeout": {
"type": "integer",
"description": "health check in seconds. It means after how many seconds the attempt will be considered unhealthy",
"minimum": 1,
"maximum": 600,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "600"
}
},
"retry": {
"type": "integer",
"description": "health check retry number after considered unhealthy a backend instance",
"minimum": 0,
"maximum": 10,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "0",
"x-kubebuilder-validation-maximum": "10"
}
}
}
},
"LoadBalancerTarget": {
"type": "object",
"description": "The target of the LoadBalancer. It can be a set of instances nics. The port can be different from the frontend port, if omitted it will be the same. If no health check is specified, the LoadBalancer will not check the health of the backend instances.",
"required": [
"members"
],
"properties": {
"algorithm": {
"type": "string",
"x-go-type-skip-optional-pointer": true,
"description": "LoadBalancer algorithm to take a backend instance",
"enum": [
"round-robin"
],
"x-enumNames": [
"LoadBalancerAlgorithmRoundRobin"
],
"default": "round-robin",
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "round-robin",
"x-kubebuilder-default": "round-robin"
}
},
"port": {
"allOf": [
{
"$ref": "#/$defs/NetworkLoadBalancerPort"
}
],
"description": "Backend port to which the load balancer will be forwarding the traffic to"
},
"members": {
"type": "array",
"minItems": 1,
"maxItems": 1000,
"description": "Nic reference to the members as part of the LoadBalancerTarget",
"items": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the NIC of a backend instance."
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-min-items": "1",
"x-kubebuilder-validation-max-items": "1000"
}
},
"healthCheck": {
"$ref": "#/$defs/LoadBalancerHealthCheck"
},
"proxyProtocol": {
"type": "string",
"x-go-type-skip-optional-pointer": true,
"description": "Specifies the proxy protocol version. The proxy protocol is used to\npass client connection information to the backend instances.\nIf not specified, the default is `none`.\n",
"enum": [
"none",
"v2"
],
"x-enumNames": [
"LoadBalancerProxyProtocolNone",
"LoadBalancerProxyProtocolV2"
],
"default": "none",
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "none;v2",
"x-kubebuilder-default": "none"
}
}
}
},
"ModificationMetadata": {
"type": "object",
"readOnly": true,
"description": "Base metadata for all resources with optional region references",
"required": [
"createdAt",
"lastModifiedAt",
"resourceVersion"
],
"properties": {
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Indicates the time when the resource was created. The field is set by the provider and should not be modified by the user."
},
"deletedAt": {
"type": "string",
"format": "date-time",
"description": "If set, indicates the time when the resource was marked for deletion. Resources with this field set are considered pending deletion."
},
"lastModifiedAt": {
"type": "string",
"format": "date-time",
"description": "Indicates the time when the resource was created or last modified. Field is used for \"If-Unmodified-Since\" logic for concurrency control. The provider guarantees that a modification on a single resource can happen only once every millisecond."
},
"resourceVersion": {
"type": "integer",
"description": "Incremented on every modification of the resource. Used for optimistic concurrency control.",
"minimum": 1,
"format": "int64"
}
}
},
"NameMetadata": {
"type": "object",
"readOnly": true,
"required": [
"name"
],
"description": "Metadata for resource names",
"properties": {
"name": {
"type": "string",
"description": "Resource identifier in dash-case (kebab-case) format. Must start and end with an alphanumeric character.\nCan contain lowercase letters, numbers, and hyphens. Multiple segments can be joined with dots.\nEach segment follows the same rules.\n",
"minLength": 1,
"maxLength": 128,
"pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
}
}
},
"NetworkLoadBalancerFrontend": {
"type": "object",
"description": "Represents the frontend configuration of the LoadBalancer. Each frontend\ncan have multiple targets, but the combination of port and protocol must\nbe unique to ensure proper routing.\n",
"required": [
"protocol",
"port",
"target"
],
"properties": {
"protocol": {
"type": "string",
"description": "Frontend Protocol to which the load balancer will be listening on",
"enum": [
"tcp",
"udp",
"both"
],
"x-enumNames": [
"LoadBalancerProtocolTCP",
"LoadBalancerProtocolUDP",
"LoadBalancerProtocolBoth"
],
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-enum": "tcp;udp;both"
}
},
"port": {
"allOf": [
{
"$ref": "#/$defs/NetworkLoadBalancerPort"
}
],
"description": "Frontend port to which the load balancer will be listening on"
},
"target": {
"$ref": "#/$defs/LoadBalancerTarget"
}
}
},
"NetworkLoadBalancerPort": {
"type": "integer",
"description": "Load Balancer port to receive or forward the traffic",
"minimum": 1,
"maximum": 65535,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "65535"
}
},
"NetworkLoadBalancerSpec": {
"type": "object",
"description": "Defines the specification for a Network Load Balancer. A Load Balancer can have multiple\nfrontends, where each frontend may target multiple backend instances. Frontend ports and\nprotocols must be unique to ensure proper routing. The NIC associated with the proxy\ndetermines whether the Load Balancer is internal or external.\n",
"required": [
"nicRef",
"frontends"
],
"properties": {
"nicRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the NIC attached to the load balancer."
},
"securityGroupRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the security group associated with this instance."
},
"frontendPort": {
"allOf": [
{
"$ref": "#/$defs/NetworkLoadBalancerPort"
}
],
"description": "Frontend port to which the load balancer will be listening on"
},
"backendPort": {
"allOf": [
{
"$ref": "#/$defs/NetworkLoadBalancerPort"
}
],
"description": "Backend port to which the load balancer will be forwarding the traffic to"
},
"frontends": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"$ref": "#/$defs/NetworkLoadBalancerFrontend"
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-min-items": "1",
"x-kubebuilder-validation-max-items": "50"
}
}
}
},
"NetworkSkuSpec": {
"type": "object",
"description": "Specification of the network SKU, including its bandwidth and packets per second.\n",
"required": [
"bandwidth",
"packets"
],
"properties": {
"bandwidth": {
"type": "integer",
"description": "The bandwidth in Mbps (Megabits per second).\n",
"minimum": 1,
"maximum": 800000,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "800000"
}
},
"packets": {
"type": "integer",
"description": "The number of packets per second (PPS) that the network SKU can handle.\n",
"minimum": 1,
"maximum": 200000000000,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-minimum": "1",
"x-kubebuilder-validation-maximum": "200000000000"
}
}
}
},
"NetworkSpec": {
"type": "object",
"description": "A Network represents a virtual network that can be used to isolate resources.\nKey network concepts:\n\n* Defines a range of IP addresses for compute resources (e.g. instances)\n* Enables network segmentation and isolation\n* Provides common performance configuration across the network using a SKU\n\nThe `cidr` is the base CIDR block for the network. Additional CIDR blocks can be\nadded to the network using the `additionalCidrs` field. The `additionalCidrs` can\nbe changed after the network is created in case they are not used. The main CIDR\nblock cannot be changed after the network is created. All cidrs must be non-overlapping.\nThe cidrs have to be part of the RFC 1918 address space in case of IPv4 and or RFC 4193.\n\nIn case the system should automatically assign IP addresses to the network cidrs\nonly the network prefix is required. E.g. to request a /16 IPv4 CIDR block the\nCIDR block would be `0.0.0.0/16` and for a /56 IPv6 CIDR block the CIDR block would\nbe `::/56`. Most CSP will not allow to use a different IPv6 prefix length than /56.\n\nRoute tables associated with this network automatically include local routes for\nall network CIDRs (including `additionalCidrs`). These network-local routes are\npresent by default and cannot be removed.\n",
"required": [
"cidr",
"skuRef"
],
"properties": {
"cidr": {
"$ref": "#/$defs/cidr"
},
"additionalCidrs": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 32,
"items": {
"$ref": "#/$defs/cidr"
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-items": "32"
}
},
"skuRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the SKU used by default for all NIC in this Network.\nCan be overridden by the NIC. The SKU is immutable after the network is created.\nTo change the SKU, the network must be deleted and recreated with the new SKU reference.\n",
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "self == oldSelf",
"x-cel-message-0": "spec.skuRef is immutable"
}
}
}
},
"NicIp": {
"type": "string",
"description": "IP address for the NIC. The IP is either IPv4 or IPv6. The IP\ncan be `0.0.0.0` or `::` to indicate that the IP needs to be assigned\nautomatically. The IP can also be a specific IP address.\nIf not provided, the mutate admission controller will populate this value using the default values for ipv4 and ipv6.\n",
"minLength": 1,
"maxLength": 39
},
"NicSpec": {
"type": "object",
"description": "Specification of the Network Interface Card\n\nThe referenced SKU overwrites the default. In case of different network SKU references\nthe highest possible network SKU reference is used. The network SKU reference\nmight be restricted by the instance size.\n",
"required": [
"addresses",
"subnetRef"
],
"properties": {
"securityGroupRefs": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 16,
"description": "References to the security groups associated with this NIC.",
"items": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to a security group."
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-items": "16"
}
},
"addresses": {
"type": "array",
"description": "List of IP addresses for the NIC. A specific IP address needs to be in the\nCIDR range of the subnet and not used by any other NIC in the subnet. Multiple\nIP addresses can be assigned to a NIC. The number of IP addresses might be\nlimited by the CSP or the subnet size.\n",
"minItems": 1,
"maxItems": 32,
"items": {
"$ref": "#/$defs/NicIp"
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-items-min-length": "1",
"x-kubebuilder-validation-items-max-length": "39",
"x-kubebuilder-validation-min-items": "1",
"x-kubebuilder-validation-max-items": "32",
"x-cel-rule-0": "self.all(x, isIP(x))",
"x-cel-message-0": "all IP addresses must be valid IPv4 or IPv6 addresses"
}
},
"publicIpRefs": {
"type": "array",
"x-go-type-skip-optional-pointer": true,
"maxItems": 16,
"description": "References to public IP addresses associated with this NIC. The IP may be external\nand not directly visible on the server/NIC itself.\n",
"items": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to a public IP address associated with this NIC."
},
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-items": "16"
}
},
"skuRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the SKU of the NIC. The SKU is immutable after the NIC is created.\nTo change the SKU, the NIC must be deleted and recreated with the new SKU reference.\n",
"x-oapi-codegen-extra-tags": {
"x-cel-rule-0": "!oldSelf.hasValue() || self == oldSelf.value()",
"x-cel-message-0": "spec.skuRef is immutable"
}
},
"subnetRef": {
"allOf": [
{
"$ref": "#/$defs/Reference"
}
],
"description": "Reference to the subnet used by the NIC connections."
}
}
},
"ObjectStorageAccountSpec": {
"type": "object",
"description": "The specification of an object storage account, including the region and zone.\n"
},
"Permission": {
"type": "object",
"description": "Permission specification, including providers, resources, and verbs.\nPermissions are used to define access control policies for user accounts.\n",
"required": [
"provider",
"resources",
"verb"
],
"properties": {
"provider": {
"type": "string",
"description": "The provider for which the resource and verbs are defined.\n",
"minLength": 1,
"maxLength": 64,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-min-length": "1",
"x-kubebuilder-validation-max-length": "64"
}
},
"resources": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-max-length": "256"
}
},
"description": "The resources are the specific resources that the permission applies to.\nThe resource can be a wildcard `*` to represent all resources or a\nspecific resource type. For example, `images/my-image` or\n`images/*`.\n",
"maxItems": 256,
"x-oapi-codegen-extra-tags": {
"x-kubebuilder-validation-items-min-length": "1",
"x-kubebuilder-validation-items-max-length": "256",
"x-kubebuilder-validation-min-items": "1",
"
# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eu-sovereign-cloud-api/refs/heads/main/json-schema/eu-sovereign-cloud-api-activity-log-iterator-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eu-sovereign-cloud-api-activity-log-iterator"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.