diff --git a/examples/dns/delete_zones.py b/examples/dns/delete_zone.py similarity index 61% rename from examples/dns/delete_zones.py rename to examples/dns/delete_zone.py index e27e74e42..d85471b8b 100644 --- a/examples/dns/delete_zones.py +++ b/examples/dns/delete_zone.py @@ -4,15 +4,10 @@ from stackit.core.configuration import Configuration project_id = os.getenv("PROJECT_ID") +zone_id = "ZONE_ID" # Create a new API client, that uses default authentication and configuration config = Configuration() client = DefaultApi(config) - -# Get all DNS zones -response = client.list_zones(project_id) - -# Delete all DNS zones -for zone in response.zones: - client.delete_zone(project_id=project_id, zone_id=zone.id) +client.delete_zone(project_id=project_id, zone_id=zone_id) diff --git a/examples/iaas/create_network_area.py b/examples/iaas/create_network_area.py index d8c444d46..d721816bb 100644 --- a/examples/iaas/create_network_area.py +++ b/examples/iaas/create_network_area.py @@ -7,7 +7,6 @@ from stackit.iaas.models.network_range import NetworkRange from stackit.core.configuration import Configuration -project_id = os.getenv("PROJECT_ID") organization_id = os.getenv("ORGANIZATION_ID") # Create a new API client, that uses default authentication and configuration diff --git a/examples/iaas/delete_network_area.py b/examples/iaas/delete_network_area.py new file mode 100644 index 000000000..dc0b210b7 --- /dev/null +++ b/examples/iaas/delete_network_area.py @@ -0,0 +1,13 @@ +import os + +from stackit.iaas.api.default_api import DefaultApi +from stackit.core.configuration import Configuration + +organization_id = os.getenv("ORGANIZATION_ID") +network_id = "NETWORK_ID" + +# Create a new API client, that uses default authentication and configuration +config = Configuration() +client = DefaultApi(config) + +client.delete_network_area(organization_id, network_id) diff --git a/examples/iaas/example_setup.py b/examples/iaas/example_setup.py deleted file mode 100644 index 6fa6adca3..000000000 --- a/examples/iaas/example_setup.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -import time - -from stackit.core.configuration import Configuration -from stackit.iaas.api.default_api import DefaultApi -from stackit.iaas.models.create_area_address_family import CreateAreaAddressFamily -from stackit.iaas.models.create_area_ipv4 import CreateAreaIPv4 -from stackit.iaas.models.create_network_area_payload import CreateNetworkAreaPayload -from stackit.iaas.models.create_network_payload import CreateNetworkPayload -from stackit.iaas.models.network_range import NetworkRange -from stackit.iaas.models.boot_volume import BootVolume -from stackit.iaas.models.allowed_addresses_inner import AllowedAddressesInner -from stackit.iaas.models.boot_volume_source import BootVolumeSource -from stackit.iaas.models.create_nic_payload import CreateNicPayload -from stackit.iaas.models.create_public_ip_payload import CreatePublicIPPayload -from stackit.iaas.models.create_security_group_payload import CreateSecurityGroupPayload -from stackit.iaas.models.create_server_payload import CreateServerPayload -from stackit.resourcemanager.api.default_api import DefaultApi as ResourceDefaultApi -from stackit.resourcemanager.models.create_project_payload import CreateProjectPayload -from stackit.resourcemanager.models.member import Member - -project_id = os.getenv("PROJECT_ID") -organization_id = os.getenv("ORGANIZATION_ID") -image_id = os.getenv("IMAGE_ID") - -# Create a new API client, that uses default authentication and configuration -config = Configuration() -client = DefaultApi(config) -resource_client = ResourceDefaultApi(config) - -create_network_area_payload = CreateNetworkAreaPayload( - name="network-area", - addressFamily=CreateAreaAddressFamily( - ipv4=CreateAreaIPv4( - networkRanges=[ - NetworkRange(prefix="192.0.2.0/24"), - ], - transferNetwork="192.0.2.0/24", - default_nameservers=["192.0.2.0"], - ) - ), -) -network_area = client.create_network_area(organization_id, create_network_area_payload) - - -project = resource_client.create_project( - CreateProjectPayload( - name="network_area", - container_parent_id=organization_id, - labels={"networkArea": network_area.area_id}, - members=[Member(role="owner", subject="example@stackit.cloud")], - ) -) -project_id = project.project_id -network_area_area_id = network_area.area_id - -default_network_creation_response = client.create_network( - project_id, - CreateNetworkPayload( - name="default", - ), -) - -security_group1 = client.create_security_group( - project_id, - CreateSecurityGroupPayload( - name="My-security-group", - description="This is created via Python SDK", - labels={"key": "value"}, - ), -) -security_group1_groupid = security_group1.id - -network = client.create_network( - project_id, - CreateNetworkPayload( - name="network", - ), -) - -nic1 = client.create_nic( - project_id, - network.network_id, - CreateNicPayload( - allowed_addresses=[AllowedAddressesInner("192.0.2.0/24")], - security_groups=[security_group1_groupid], - ), -) - -public_ip = client.create_public_ip(project_id, CreatePublicIPPayload(network_interface=nic1.id)) - -server = client.create_server( - project_id, - CreateServerPayload( - name="example-server", - boot_volume=BootVolume( - size=64, - source=BootVolumeSource( - id=image_id, - type="image", - ), - ), - keypair_name="key", - labels={"key": "value"}, - machine_type="t1.2", - availability_zone="eu01-1", - ), -) -time.sleep(180) # wait for server to be created, temporary sleep until waiter methods are implemented -client.add_nicto_server(project_id, server.id, nic1.id) diff --git a/examples/iaasalpha/delete_volumes.py b/examples/iaasalpha/delete_volume.py similarity index 54% rename from examples/iaasalpha/delete_volumes.py rename to examples/iaasalpha/delete_volume.py index eadd66845..9424b2802 100644 --- a/examples/iaasalpha/delete_volumes.py +++ b/examples/iaasalpha/delete_volume.py @@ -5,13 +5,9 @@ project_id = os.getenv("PROJECT_ID") +volume_id = "VOLUME_ID" config = Configuration() client = DefaultApi(config) -# get all volumes -response = client.list_volumes(project_id) - -# delete all volumes -for item in response.items: - client.delete_volume(project_id=project_id, volume_id=item.id) +client.delete_volume(project_id=project_id, volume_id=volume_id) diff --git a/examples/loadbalancer/create_loadbalancer.py b/examples/loadbalancer/create_loadbalancer.py index dcfe63e5f..df4903306 100644 --- a/examples/loadbalancer/create_loadbalancer.py +++ b/examples/loadbalancer/create_loadbalancer.py @@ -11,8 +11,9 @@ from stackit.loadbalancer.models.target import Target from stackit.core.configuration import Configuration - -NETWORK_ID = "" +# Note: Create a target server before +NETWORK_ID = "NETWORK_ID" +IP_ADDRESS = "x.x.x.x" X_REQUEST_ID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = os.getenv("PROJECT_ID") @@ -30,14 +31,14 @@ networks=[ Network( networkId=NETWORK_ID, - role="1", + role="ROLE_LISTENERS_AND_TARGETS", ), ], listeners=[ Listener( displayName="example-listener", port=1, - protocol="1", + protocol="PROTOCOL_TCP", targetPool="example-target-pool", ), ], @@ -45,7 +46,7 @@ TargetPool( name="example-target-pool", targetPort=1, - targets=[Target(displayName="example-target", ip="x.x.x.x")], + targets=[Target(displayName="example-target", ip=IP_ADDRESS)], ) ], ) diff --git a/examples/loadbalancer/delete_loadbalancer.py b/examples/loadbalancer/delete_loadbalancer.py new file mode 100644 index 000000000..a51a88e7f --- /dev/null +++ b/examples/loadbalancer/delete_loadbalancer.py @@ -0,0 +1,14 @@ +import os + +from stackit.core.configuration import Configuration +from stackit.loadbalancer.api.default_api import DefaultApi + +project_id = os.getenv("PROJECT_ID") +instance_name = "INSTANCE_NAME" + +# Create a new API client, that uses default authentication and configuration +config = Configuration() +client = DefaultApi(config) + +# Delete an instance +client.delete_load_balancer(project_id, instance_name) diff --git a/examples/logme/delete_instances.py b/examples/logme/delete_instance.py similarity index 58% rename from examples/logme/delete_instances.py rename to examples/logme/delete_instance.py index eaff8ac5f..68a289464 100644 --- a/examples/logme/delete_instances.py +++ b/examples/logme/delete_instance.py @@ -4,14 +4,11 @@ from stackit.core.configuration import Configuration project_id = os.getenv("PROJECT_ID") +instance_id = "INSTANCE_ID" # Create a new API client, that uses default authentication and configuration config = Configuration() client = DefaultApi(config) -# List all logme instances -response = client.list_instances(project_id) - -# Delete all found logme instances -for instance in response.instances: - client.delete_instance(project_id, instance.instance_id) +# Delete an instance +client.delete_instance(project_id, instance_id)