geoservercloud 0.8.8.dev3__tar.gz → 0.8.9.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/PKG-INFO +1 -1
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/geoservercloud.py +69 -0
- geoservercloud-0.8.9.dev1/geoservercloud/models/s3blobstore.py +104 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restservice.py +14 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/pyproject.toml +1 -1
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/LICENSE +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/README.md +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/.gitignore +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/README.md +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/ci.config.yaml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/cli.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/compose/ci.compose.yaml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/compose/example.compose.yaml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/compose/geodatabase/001_create_schemas.sql +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/config.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/data/sampledata.tgz +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/example.config.yaml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/conftest.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_None_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language__expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_de_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_fr_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_it_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language_None_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language__expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language_it_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_None_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language__expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_de_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_fr_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_it_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language_None_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language__expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language_it_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_labels.sld +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_no_default.sld +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_with_default.sld +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/wfs/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/wfs/wfs_delete_payload.xml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/wfs/wfs_insert_payload.xml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/wms/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/resources/wms/getmap_expected.png +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_cascaded_stores.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_cog.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_datastore.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_get_version.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_gwc.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_i18n.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_imagemosaic.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_imagemosaic_cog.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_installed_fonts.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_ogcapi_features.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_s3_credentials_chain.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_wfs.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_wms.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_workspace.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/utils.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/geoservercloudsync.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/gridsets/2056.xml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/gridsets/21781.xml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/gridsets/3857.xml +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/abstractlayer.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/common.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/coverage.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/coverages.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/coveragestore.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/datastore.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/datastores.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/featuretype.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/featuretypes.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/gwclayer.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/layer.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/layergroup.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/layergroups.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/resourcedirectory.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/style.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/styles.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/wmslayer.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/wmssettings.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/wmsstore.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/wmtsstore.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/workspace.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/workspaces.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/__init__.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/owsservice.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restclient.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restlogger.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/templates.py +0 -0
- {geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/utils.py +0 -0
|
@@ -15,6 +15,7 @@ from geoservercloud.models.featuretype import FeatureType
|
|
|
15
15
|
from geoservercloud.models.gwclayer import GridSubset, GwcLayer, ParameterFilter
|
|
16
16
|
from geoservercloud.models.layer import Layer
|
|
17
17
|
from geoservercloud.models.layergroup import LayerGroup
|
|
18
|
+
from geoservercloud.models.s3blobstore import S3Blobstore
|
|
18
19
|
from geoservercloud.models.style import Style
|
|
19
20
|
from geoservercloud.models.wmslayer import WmsLayer
|
|
20
21
|
from geoservercloud.models.wmssettings import WmsSettings
|
|
@@ -2281,3 +2282,71 @@ class GeoServerCloud:
|
|
|
2281
2282
|
:rtype: tuple
|
|
2282
2283
|
"""
|
|
2283
2284
|
return self.rest_service.create_gridset(epsg)
|
|
2285
|
+
|
|
2286
|
+
def create_gwc_blobstore(
|
|
2287
|
+
self,
|
|
2288
|
+
id: str,
|
|
2289
|
+
bucket: str,
|
|
2290
|
+
max_connections: int,
|
|
2291
|
+
aws_access_key: str | None = None,
|
|
2292
|
+
aws_secret_key: str | None = None,
|
|
2293
|
+
prefix: str | None = None,
|
|
2294
|
+
enabled: bool | None = None,
|
|
2295
|
+
default: bool | None = None,
|
|
2296
|
+
access: str | None = None,
|
|
2297
|
+
use_https: bool | None = None,
|
|
2298
|
+
proxy_domain: str | None = None,
|
|
2299
|
+
proxy_workstation: str | None = None,
|
|
2300
|
+
proxy_host: str | None = None,
|
|
2301
|
+
proxy_port: str | None = None,
|
|
2302
|
+
proxy_username: str | None = None,
|
|
2303
|
+
proxy_password: str | None = None,
|
|
2304
|
+
use_gzip: bool | None = None,
|
|
2305
|
+
endpoint: str | None = None,
|
|
2306
|
+
) -> tuple[str, int]:
|
|
2307
|
+
"""
|
|
2308
|
+
Create or update a blobstore for GeoWebCache cache storage
|
|
2309
|
+
|
|
2310
|
+
:param id: Identifier of the blobstore
|
|
2311
|
+
:param bucket: Name of the AWS S3 bucket where to store tiles
|
|
2312
|
+
:param max_connections: Maximum number of allowed open HTTP connections
|
|
2313
|
+
:param aws_access_key: AWS access key, not required if using anonymous or role-based credentials
|
|
2314
|
+
:param aws_secret_key: AWS secret key, not required if using anonymous or role-based credentials
|
|
2315
|
+
:param prefix: Optional base prefix path to use as the root to store tiles under the bucket
|
|
2316
|
+
:param enabled: Whether the blobstore is enabled
|
|
2317
|
+
:param default: Whether this blobstore is the default one
|
|
2318
|
+
:param access: Access control for stored tiles, either "PUBLIC" or "PRIVATE"
|
|
2319
|
+
:param use_https: Whether to use HTTPS (True) or HTTP (False) when talking to S3 (GeoServer defaults to True if omitted)
|
|
2320
|
+
:param proxy_domain: Optional Windows domain name for configuring an NTLM proxy
|
|
2321
|
+
:param proxy_workstation: Optional Windows workstation name for configuring NTLM proxy support
|
|
2322
|
+
:param proxy_host: Optional proxy host the client will connect through
|
|
2323
|
+
:param proxy_port: Optional proxy port the client will connect through
|
|
2324
|
+
:param proxy_username: Optional proxy user name to use if connecting through a proxy
|
|
2325
|
+
:param proxy_password: Optional proxy password to use when connecting through a proxy
|
|
2326
|
+
:param use_gzip: Whether to use gzip compression
|
|
2327
|
+
:param endpoint: Host of the S3-compatible server (if not AWS)
|
|
2328
|
+
:return: Tuple of (content, status_code)
|
|
2329
|
+
:rtype: tuple
|
|
2330
|
+
"""
|
|
2331
|
+
|
|
2332
|
+
blobstore = S3Blobstore(
|
|
2333
|
+
id=id,
|
|
2334
|
+
bucket=bucket,
|
|
2335
|
+
max_connections=max_connections,
|
|
2336
|
+
aws_access_key=aws_access_key,
|
|
2337
|
+
aws_secret_key=aws_secret_key,
|
|
2338
|
+
prefix=prefix,
|
|
2339
|
+
enabled=enabled,
|
|
2340
|
+
default=default,
|
|
2341
|
+
access=access,
|
|
2342
|
+
use_https=use_https,
|
|
2343
|
+
proxy_domain=proxy_domain,
|
|
2344
|
+
proxy_workstation=proxy_workstation,
|
|
2345
|
+
proxy_host=proxy_host,
|
|
2346
|
+
proxy_port=proxy_port,
|
|
2347
|
+
proxy_username=proxy_username,
|
|
2348
|
+
proxy_password=proxy_password,
|
|
2349
|
+
use_gzip=use_gzip,
|
|
2350
|
+
endpoint=endpoint,
|
|
2351
|
+
)
|
|
2352
|
+
return self.rest_service.create_gwc_blobstore(blobstore)
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from geoservercloud.models.common import EntityModel
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class S3Blobstore(EntityModel):
|
|
8
|
+
def __init__(
|
|
9
|
+
self,
|
|
10
|
+
id: str,
|
|
11
|
+
bucket: str,
|
|
12
|
+
max_connections: int,
|
|
13
|
+
aws_access_key: str | None = None,
|
|
14
|
+
aws_secret_key: str | None = None,
|
|
15
|
+
prefix: str | None = None,
|
|
16
|
+
enabled: bool | None = None,
|
|
17
|
+
default: bool | None = None,
|
|
18
|
+
access: str | None = None,
|
|
19
|
+
use_https: bool | None = None,
|
|
20
|
+
proxy_domain: str | None = None,
|
|
21
|
+
proxy_workstation: str | None = None,
|
|
22
|
+
proxy_host: str | None = None,
|
|
23
|
+
proxy_port: str | None = None,
|
|
24
|
+
proxy_username: str | None = None,
|
|
25
|
+
proxy_password: str | None = None,
|
|
26
|
+
use_gzip: bool | None = None,
|
|
27
|
+
endpoint: str | None = None,
|
|
28
|
+
):
|
|
29
|
+
self.id = id
|
|
30
|
+
self.bucket = bucket
|
|
31
|
+
self.max_connections = max_connections
|
|
32
|
+
self.aws_access_key = aws_access_key
|
|
33
|
+
self.aws_secret_key = aws_secret_key
|
|
34
|
+
self.prefix = prefix
|
|
35
|
+
self.enabled = enabled
|
|
36
|
+
self.default = default
|
|
37
|
+
self.access = access
|
|
38
|
+
self.use_https = use_https
|
|
39
|
+
self.proxy_domain = proxy_domain
|
|
40
|
+
self.proxy_workstation = proxy_workstation
|
|
41
|
+
self.proxy_host = proxy_host
|
|
42
|
+
self.proxy_port = proxy_port
|
|
43
|
+
self.proxy_username = proxy_username
|
|
44
|
+
self.proxy_password = proxy_password
|
|
45
|
+
self.use_gzip = use_gzip
|
|
46
|
+
self.endpoint = endpoint
|
|
47
|
+
|
|
48
|
+
def asdict(self) -> dict[str, Any]:
|
|
49
|
+
content: dict[str, Any] = {
|
|
50
|
+
"id": self.id,
|
|
51
|
+
"bucket": self.bucket,
|
|
52
|
+
"maxConnections": self.max_connections,
|
|
53
|
+
}
|
|
54
|
+
optional_items: dict[str, Any] = {
|
|
55
|
+
"awsAccessKey": self.aws_access_key,
|
|
56
|
+
"awsSecretKey": self.aws_secret_key,
|
|
57
|
+
"prefix": self.prefix,
|
|
58
|
+
"enabled": self.enabled,
|
|
59
|
+
"default": self.default,
|
|
60
|
+
"access": self.access,
|
|
61
|
+
"useHTTPS": self.use_https,
|
|
62
|
+
"proxyDomain": self.proxy_domain,
|
|
63
|
+
"proxyWorkstation": self.proxy_workstation,
|
|
64
|
+
"proxyHost": self.proxy_host,
|
|
65
|
+
"proxyPort": self.proxy_port,
|
|
66
|
+
"proxyUsername": self.proxy_username,
|
|
67
|
+
"proxyPassword": self.proxy_password,
|
|
68
|
+
"useGzip": self.use_gzip,
|
|
69
|
+
"endpoint": self.endpoint,
|
|
70
|
+
}
|
|
71
|
+
return EntityModel.add_items_to_dict(content, optional_items)
|
|
72
|
+
|
|
73
|
+
def post_payload(self) -> dict[str, Any]:
|
|
74
|
+
return {"S3BlobStore": self.asdict()}
|
|
75
|
+
|
|
76
|
+
def put_payload(self) -> dict[str, Any]:
|
|
77
|
+
return self.post_payload()
|
|
78
|
+
|
|
79
|
+
@classmethod
|
|
80
|
+
def from_get_response_payload(cls, content: dict):
|
|
81
|
+
s3blobstore = content["S3BlobStore"]
|
|
82
|
+
return cls(
|
|
83
|
+
s3blobstore["id"],
|
|
84
|
+
s3blobstore["bucket"],
|
|
85
|
+
s3blobstore["maxConnections"],
|
|
86
|
+
s3blobstore.get("awsAccessKey"),
|
|
87
|
+
s3blobstore.get("awsSecretKey"),
|
|
88
|
+
s3blobstore.get("prefix"),
|
|
89
|
+
s3blobstore.get("enabled"),
|
|
90
|
+
s3blobstore.get("default"),
|
|
91
|
+
s3blobstore.get("access"),
|
|
92
|
+
s3blobstore.get("useHTTPS"),
|
|
93
|
+
s3blobstore.get("proxyDomain"),
|
|
94
|
+
s3blobstore.get("proxyWorkstation"),
|
|
95
|
+
s3blobstore.get("proxyHost"),
|
|
96
|
+
s3blobstore.get("proxyPort"),
|
|
97
|
+
s3blobstore.get("proxyUsername"),
|
|
98
|
+
s3blobstore.get("proxyPassword"),
|
|
99
|
+
s3blobstore.get("useGzip"),
|
|
100
|
+
s3blobstore.get("endpoint"),
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
def __repr__(self) -> str:
|
|
104
|
+
return json.dumps(self.put_payload(), indent=4)
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restservice.py
RENAMED
|
@@ -18,6 +18,7 @@ from geoservercloud.models.layer import Layer
|
|
|
18
18
|
from geoservercloud.models.layergroup import LayerGroup
|
|
19
19
|
from geoservercloud.models.layergroups import LayerGroups
|
|
20
20
|
from geoservercloud.models.resourcedirectory import ResourceDirectory
|
|
21
|
+
from geoservercloud.models.s3blobstore import S3Blobstore
|
|
21
22
|
from geoservercloud.models.style import Style
|
|
22
23
|
from geoservercloud.models.styles import Styles
|
|
23
24
|
from geoservercloud.models.wmslayer import WmsLayer
|
|
@@ -344,6 +345,13 @@ class RestService:
|
|
|
344
345
|
)
|
|
345
346
|
return response.content.decode(), response.status_code
|
|
346
347
|
|
|
348
|
+
def create_gwc_blobstore(self, blobstore: S3Blobstore) -> tuple[str, int]:
|
|
349
|
+
response: Response = self.rest_client.put(
|
|
350
|
+
self.gwc_endpoints.blobstore(blobstore.id),
|
|
351
|
+
json=blobstore.put_payload(),
|
|
352
|
+
)
|
|
353
|
+
return response.content.decode(), response.status_code
|
|
354
|
+
|
|
347
355
|
def get_feature_types(
|
|
348
356
|
self, workspace_name: str, datastore_name: str
|
|
349
357
|
) -> tuple[FeatureTypes | str, int]:
|
|
@@ -899,6 +907,12 @@ class RestService:
|
|
|
899
907
|
def gridset(self, epsg: int) -> str:
|
|
900
908
|
return f"{self.base_url}/gridsets/EPSG:{str(epsg)}.xml"
|
|
901
909
|
|
|
910
|
+
def blobstores(self) -> str:
|
|
911
|
+
return f"{self.base_url}/blobstores.json"
|
|
912
|
+
|
|
913
|
+
def blobstore(self, id: str) -> str:
|
|
914
|
+
return f"{self.base_url}/blobstores/{id}.json"
|
|
915
|
+
|
|
902
916
|
class RestEndpoints:
|
|
903
917
|
def __init__(self, base_url: str = "/rest") -> None:
|
|
904
918
|
self.base_url: str = base_url
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "geoservercloud"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.9.dev1"
|
|
4
4
|
description = "Lightweight Python client to interact with GeoServer Cloud REST API, GeoServer ACL and OGC services"
|
|
5
5
|
authors = ["Camptocamp <info@camptocamp.com>"]
|
|
6
6
|
license = "BSD-2-Clause"
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/.gitignore
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/README.md
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/__init__.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/ci.config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/__init__.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_cog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_gwc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_wfs.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/test_wms.py
RENAMED
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoserver_acceptance_tests/tests/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/geoservercloudsync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/abstractlayer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/coveragestore.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/featuretype.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/featuretypes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/layergroups.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/resourcedirectory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/models/wmssettings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/owsservice.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restclient.py
RENAMED
|
File without changes
|
{geoservercloud-0.8.8.dev3 → geoservercloud-0.8.9.dev1}/geoservercloud/services/restlogger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|