Skip to content

Commit

Permalink
Releasing version 2.2.14
Browse files Browse the repository at this point in the history
  • Loading branch information
dshelbyo committed Jun 18, 2019
1 parent 35d83d6 commit 9159198
Show file tree
Hide file tree
Showing 33 changed files with 9,533 additions and 666 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`_.

====================
2.2.14 - 2019-06-18
====================

Added
-----
* Support for moving service gateway resources across compartments in Core Services
* Support for moving block storage resources across compartments in Core Services
* Support for key deletion in the Key Management service

====================
2.2.13 - 2019-06-11
====================
Expand Down
8,087 changes: 7,450 additions & 637 deletions THIRD_PARTY_LICENSES.txt

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions docs/api/core.rst
Expand Up @@ -50,6 +50,13 @@ Core Services
oci.core.models.BulkAddVirtualCircuitPublicPrefixesDetails
oci.core.models.BulkDeleteVirtualCircuitPublicPrefixesDetails
oci.core.models.CaptureConsoleHistoryDetails
oci.core.models.ChangeBootVolumeBackupCompartmentDetails
oci.core.models.ChangeBootVolumeCompartmentDetails
oci.core.models.ChangeServiceGatewayCompartmentDetails
oci.core.models.ChangeVolumeBackupCompartmentDetails
oci.core.models.ChangeVolumeCompartmentDetails
oci.core.models.ChangeVolumeGroupBackupCompartmentDetails
oci.core.models.ChangeVolumeGroupCompartmentDetails
oci.core.models.ComputeInstanceDetails
oci.core.models.ConnectLocalPeeringGatewaysDetails
oci.core.models.ConnectRemotePeeringConnectionsDetails
Expand Down
@@ -0,0 +1,11 @@
ChangeBootVolumeBackupCompartmentDetails
========================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeBootVolumeBackupCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeBootVolumeCompartmentDetails
==================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeBootVolumeCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeServiceGatewayCompartmentDetails
======================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeServiceGatewayCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeVolumeBackupCompartmentDetails
====================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeVolumeBackupCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeVolumeCompartmentDetails
==============================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeVolumeCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeVolumeGroupBackupCompartmentDetails
=========================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeVolumeGroupBackupCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
@@ -0,0 +1,11 @@
ChangeVolumeGroupCompartmentDetails
===================================

.. currentmodule:: oci.core.models

.. autoclass:: ChangeVolumeGroupCompartmentDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
1 change: 1 addition & 0 deletions docs/api/key_management.rst
Expand Up @@ -35,6 +35,7 @@ Key Management
oci.key_management.models.KeySummary
oci.key_management.models.KeyVersion
oci.key_management.models.KeyVersionSummary
oci.key_management.models.ScheduleKeyDeletionDetails
oci.key_management.models.ScheduleVaultDeletionDetails
oci.key_management.models.UpdateKeyDetails
oci.key_management.models.UpdateVaultDetails
Expand Down
@@ -0,0 +1,11 @@
ScheduleKeyDeletionDetails
==========================

.. currentmodule:: oci.key_management.models

.. autoclass:: ScheduleKeyDeletionDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
195 changes: 195 additions & 0 deletions examples/change_service_gateway_compartment_example.py
@@ -0,0 +1,195 @@
# coding: utf-8
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.

# This script provides a basic example of how to move a service gateway from one compartment to another using Python SDK.
# This script will perform the following operations to perform the above operation:
#
# * Read user configuration
# * Construct VirtualNetworkClient using user configuration
# * Create VCN
# * Create Service Gateway
# * Change Service Gateway Compartment
# * Get Service Gateway
# * Delete Service Gateway
# * Delete VCN
#
# This script takes the following arguments
#
# * The source destination id (from where the service gateway should be created and moved from)
# * The destination compartment id
#
# Usage :
# change_service_gateway_compartment_example.py --src-compartment-id=<src compartment OCID>
# --dest-compartment-id=<dest compartment OCID>
#
#

import argparse
import oci
from oci.core import VirtualNetworkClient
from oci.core import VirtualNetworkClientCompositeOperations
from oci.core.models import ChangeServiceGatewayCompartmentDetails
from oci.core.models import CreateServiceGatewayDetails
from oci.core.models import CreateVcnDetails
from oci.core.models import Vcn
from oci.core.models import ServiceGateway


infoEnabled = True
service_gateway_id = None
src_compartment_id = None
dest_compartment_id = None
virtual_network_client = None
virtual_network_client_composite_ops = None
vcn_id = None


def info(message):
if infoEnabled:
print("[INFO] " + str(message))


def error(message):
if infoEnabled:
print("[ERROR]" + str(message))


def setup_client():
global virtual_network_client
global virtual_network_client_composite_ops

# read oci config
config = oci.config.from_file()

# Create Virtual Network Client with configuration
virtual_network_client = VirtualNetworkClient(config)

# Create Virtual Network Client with configuration for composite operations
virtual_network_client_composite_ops = VirtualNetworkClientCompositeOperations(virtual_network_client)


def create_vcn():
global virtual_network_client_composite_ops
global vcn_id

# setup create vcn details
create_vcn_details = CreateVcnDetails()
create_vcn_details.cidr_block = '10.0.0.0/16'
create_vcn_details.compartment_id = src_compartment_id
create_vcn_details.display_name = 'test_change_service_gateway'

# create vcn
response = virtual_network_client_composite_ops.create_vcn_and_wait_for_state(create_vcn_details, wait_for_states=[Vcn.LIFECYCLE_STATE_AVAILABLE])
vcn_id = response.data.id
info("VCN ID : %s" % vcn_id)


def create_service_gateway():
global virtual_network_client_composite_ops
global service_gateway_id
global vcn_id

# setup create service gateway details
create_sgw_details = CreateServiceGatewayDetails()
create_sgw_details.vcn_id = vcn_id
create_sgw_details.compartment_id = src_compartment_id
create_sgw_details.display_name = 'test_change_service_gateway'
# Providing empty services field for the purpose of the test. Please update to required
# services' value if reaching Oracle Services.
create_sgw_details.services = list()

# create sgw
response = virtual_network_client_composite_ops.create_service_gateway_and_wait_for_state(create_sgw_details, wait_for_states=[ServiceGateway.LIFECYCLE_STATE_AVAILABLE])
service_gateway_id = response.data.id

info("SERVICE GATEWAY ID : %s" % service_gateway_id)


def change_service_gateway_compartment():
global virtual_network_client
global dest_compartment_id
global service_gateway_id

# setup change compartment details
change_compartment_details = ChangeServiceGatewayCompartmentDetails()
change_compartment_details.compartment_id = dest_compartment_id

virtual_network_client.change_service_gateway_compartment(service_gateway_id, change_compartment_details)


def get_service_gateway():
global virtual_network_client
global service_gateway_id

response = virtual_network_client.get_service_gateway(service_gateway_id)
info(response.data)


def delete_service_gateway():
global virtual_network_client_composite_ops
global service_gateway_id

virtual_network_client_composite_ops.delete_service_gateway_and_wait_for_state(service_gateway_id, wait_for_states=[ServiceGateway.LIFECYCLE_STATE_TERMINATED])


def delete_vcn():
global virtual_network_client_composite_ops
global vcn_id

virtual_network_client_composite_ops.delete_vcn_and_wait_for_state(vcn_id, wait_for_states=[Vcn.LIFECYCLE_STATE_TERMINATED])


def parse_command_line():
global src_compartment_id
global dest_compartment_id

# parse arguments
parser = argparse.ArgumentParser()
parser.add_argument('--src-compartment-id',
help='source compartment ID in which to create and change service gateway from',
required=True
)
parser.add_argument('--dest-compartment-id',
help='destination compartment ID where the service gateway should be moved',
required=True
)
args = parser.parse_args()
src_compartment_id = args.src_compartment_id
dest_compartment_id = args.dest_compartment_id


def perform_change_compartment():
global service_gateway_id
global vcn_id

try:
info("Setup Client")
setup_client()

info("Create VCN")
create_vcn()

info("Create Service Gateway")
create_service_gateway()

info("Change Service Gateway Compartment to %s" % dest_compartment_id)
change_service_gateway_compartment()
info("Service Gateway moved to destination compartment")

info("Get Service Gateway's new compartment after change compartment")
get_service_gateway()
except Exception as e:
error("Error during change service gateway example execution : %s" % e)
finally:
if service_gateway_id:
info("Delete Service Gateway")
delete_service_gateway()

if vcn_id:
info("Delete VCN")
delete_vcn()


if __name__ == '__main__':
parse_command_line()
perform_change_compartment()

0 comments on commit 9159198

Please sign in to comment.