def __init__(self, *args, **kwargs): super(InstanceConfigurationHelperCustom, self).__init__(*args, **kwargs) self.compute_client = oci_config_utils.create_service_client( self.module, ComputeClient) self.virtual_network_client = oci_config_utils.create_service_client( self.module, VirtualNetworkClient) self.blockstorage_client = oci_config_utils.create_service_client( self.module, BlockstorageClient)
def __init__(self, module, resource_type, service_client_class, namespace): self.work_request_client = oci_config_utils.create_service_client( module, WorkRequestsClient) super(MysqlDbSystemHelperCustom, self).__init__(module, resource_type, service_client_class, namespace)
def __init__(self, module, resource_type, service_client_class, namespace): self.work_request_client = oci_config_utils.create_service_client( module, WorkRequestsClient) super(ApigatewayCertificateActionsHelperCustom, self).__init__(module, resource_type, service_client_class, namespace)
def invoke(self): if not self.module.params.get("dest"): self.module.fail_json( msg="dest parameter required for invoke action") dest = self.module.params["dest"] function = self.get_resource().data self.module.params["service_endpoint"] = function.invoke_endpoint functions_invoke_client = oci_config_utils.create_service_client( self.module, FunctionsInvokeClient) try: # Temporarily change self.client in the context of this method. Preferring this over overriding the # self.client to use FunctionsInvokeClient since there might be other actions (for ex: change_compartment) # in the future which need the client generated by the generated module. functions_management_client = self.client self.client = functions_invoke_client invoke_function_response = super(FunctionActionsHelperCustom, self).invoke() # Read 1MB at a time chunk_size = 1024 * 1024 with open(to_bytes(dest), "wb") as dest_file: for chunk in invoke_function_response.raw.stream( chunk_size, decode_content=True): dest_file.write(chunk) return function finally: self.client = functions_management_client
def __init__(self, module, resource_type, service_client_class, namespace): self.module = module self.resource_type = resource_type self.service_client_class = service_client_class self.client = oci_config_utils.create_service_client( self.module, self.service_client_class) self.namespace = namespace
def perform_copy(self): obj = get_object( self.client, self.module.params.get("namespace_name"), self.module.params.get("bucket_name"), self.module.params.get("source_object_name"), ) if not obj: self.module.fail_json( msg="Could not find the object {0} in bucket {1}".format( self.module.params.get("source_object_name"), self.module.params.get("bucket_name"), ) ) is_action_necessary = self.is_action_necessary(self.COPY_ACTION, obj) if not is_action_necessary: return self.prepare_result( changed=False, resource_type=self.resource_type, resource=to_dict(obj) ) if self.check_mode: return self.prepare_result( changed=True, resource_type=self.resource_type, resource=to_dict(obj) ) try: self.copy() except MaximumWaitTimeExceeded as mwtex: self.module.fail_json(msg=str(mwtex)) except ServiceError as se: self.module.fail_json( msg="Performing action failed with exception: {0}".format(se.message) ) else: destination_region_client = oci_config_utils.create_service_client( self.module, ObjectStorageClient, dict( oci_config_utils.get_oci_config(self.module), region=self.module.params.get("destination_region"), ), ) copied_obj = get_object( destination_region_client, self.module.params.get("destination_namespace"), self.module.params.get("destination_bucket"), self.module.params.get("destination_object_name"), ) if not copied_obj: self.module.fail_json( msg="Could not find the copied object {0} in bucket {1} and namespace {2}".format( self.module.params.get("destination_object_name"), self.module.params.get("destination_bucket"), self.module.params.get("destination_namespace"), ) ) return self.prepare_result( changed=True, resource_type=self.resource_type, resource=to_dict(copied_obj), )
def __init__(self, *args, **kwargs): super(MetricDataHelperCustom, self).__init__(*args, **kwargs) service_endpoint = str(self.client.base_client.endpoint) self.module.params["service_endpoint"] = service_endpoint.replace( "telemetry", "telemetry-ingestion") self.client = oci_config_utils.create_service_client( self.module, MonitoringClient)
def __init__(self, module, resource_type, service_client_class, namespace): super(AnnouncementsPreferencesHelperCustom, self).__init__( module, resource_type, service_client_class, namespace ) self.client = oci_config_utils.create_service_client( module, AnnouncementsPreferencesClient, client_kwargs={"skip_deserialization": True}, )
def launch(self): instance = super(InstanceConfigurationActionsHelperCustom, self).launch() compute_client = oci_config_utils.create_service_client( self.module, ComputeClient) wait_response = oci.wait_until( self.client, compute_client.get_instance(instance_id=instance.id), evaluate_response=lambda response: response.data.lifecycle_state in oci_common_utils.DEFAULT_READY_STATES, max_wait_seconds=self.module.params.get( "wait_timeout", oci_common_utils.MAX_WAIT_TIMEOUT_IN_SECONDS), ) return wait_response.data
def get_resource_from_wait_response(self, wait_response): if not (hasattr(wait_response.data, "resources") and wait_response.data.resources): self.resource_helper.module.fail_json( msg="Could not get instance id from work request response {data}" .format(data=wait_response.data)) instance_id = None for resource in wait_response.data.resources: if resource.entity_type.lower() == "instance": instance_id = resource.identifier if not instance_id: self.resource_helper.module.fail_json( msg="Could not get instance id from work request response {data}" .format(data=wait_response.data)) compute_client = oci_config_utils.create_service_client( self.resource_helper.module, ComputeClient) return compute_client.get_instance(instance_id=instance_id).data
def get_existing_resource_dict_for_idempotence_check( self, existing_resource): existing_resource_dict = super( VnicAttachmentHelperCustom, self).get_existing_resource_dict_for_idempotence_check( existing_resource) if existing_resource_dict.get("vnic_id"): # The information provided in create_vnic_details attr of create model does not exist directly in the # get model but have to be fetched from the vnic details. Fetch and add the information to the existing # resource so that the idempotence logic can compare the vnic details. virtual_network_client = oci_config_utils.create_service_client( self.module, VirtualNetworkClient) existing_vnic = to_dict( virtual_network_client.get_vnic( vnic_id=existing_resource_dict.get("vnic_id")).data) existing_resource_dict["vnic"] = existing_vnic return existing_resource_dict
def get_waiter_client(self): # http_redirect resource has a separate client class but still uses WaasClient for work requests. Override # waiter client to use WaasClient. return oci_config_utils.create_service_client(self.module, oci.waas.WaasClient)
def get_waiter_client(self): return oci_config_utils.create_service_client(self.module, WorkRequestClient)
def __init__(self, *args, **kwargs): super(DbNodeFactsHelperCustom, self).__init__(*args, **kwargs) self.network_client = oci_config_utils.create_service_client( self.module, VirtualNetworkClient)
def __init__(self, *args, **kwargs): super(GenericArtifactContentHelperCustom, self).__init__(*args, **kwargs) self.artifacts_client = oci_config_utils.create_service_client( self.module, ArtifactsClient )