def __init__(self, username=None, api_key=None, project_id=None, auth_url=None, insecure=False, timeout=None, proxy_tenant_id=None, proxy_token=None, region_name=None, endpoint_type='publicURL', extensions=None, service_type='compute', service_name=None, volume_service_name=None, timings=False, bypass_url=None, os_cache=False, no_cache=True, http_log_debug=False, auth_token=None, cacert=None, tenant_id=None, user_id=None, connection_pool=False, session=None, auth=None, api_version=None, direct_use=True, logger=None, **kwargs): """Initialization of Client object. :param str username: Username :param str api_key: API Key :param str project_id: Project ID :param str auth_url: Auth URL :param bool insecure: Allow insecure :param float timeout: API timeout, None or 0 disables :param str proxy_tenant_id: Tenant ID :param str proxy_token: Proxy Token :param str region_name: Region Name :param str endpoint_type: Endpoint Type :param str extensions: Extensions :param str service_type: Service Type :param str service_name: Service Name :param str volume_service_name: Volume Service Name :param bool timings: Timings :param str bypass_url: Bypass URL :param bool os_cache: OS cache :param bool no_cache: No cache :param bool http_log_debug: Enable debugging for HTTP connections :param str auth_token: Auth token :param str cacert: cacert :param str tenant_id: Tenant ID :param str user_id: User ID :param bool connection_pool: Use a connection pool :param str session: Session :param str auth: Auth :param api_version: Compute API version :param direct_use: Inner variable of novaclient. Do not use it outside novaclient. It's restricted. :param logger: Logger :type api_version: novaclient.api_versions.APIVersion """ if direct_use: raise exceptions.Forbidden( 403, _LE("'novaclient.v2.client.Client' is not designed to be " "initialized directly. It is inner class of " "novaclient. You should use " "'novaclient.client.Client' instead. Related lp " "bug-report: 1493576")) # FIXME(comstud): Rename the api_key argument above when we # know it's not being used as keyword argument # NOTE(cyeoh): In the novaclient context (unlike Nova) the # project_id is not the same as the tenant_id. Here project_id # is a name (what the Nova API often refers to as a project or # tenant name) and tenant_id is a UUID (what the Nova API # often refers to as a project_id or tenant_id). password = kwargs.pop('password', api_key) self.projectid = project_id self.tenant_id = tenant_id self.user_id = user_id self.flavors = flavors.FlavorManager(self) self.flavor_access = flavor_access.FlavorAccessManager(self) self.images = images.ImageManager(self) self.glance = images.GlanceManager(self) self.limits = limits.LimitsManager(self) self.servers = servers.ServerManager(self) self.versions = versions.VersionManager(self) # extensions self.agents = agents.AgentsManager(self) self.dns_domains = floating_ip_dns.FloatingIPDNSDomainManager(self) self.dns_entries = floating_ip_dns.FloatingIPDNSEntryManager(self) self.cloudpipe = cloudpipe.CloudpipeManager(self) self.certs = certs.CertificateManager(self) self.floating_ips = floating_ips.FloatingIPManager(self) self.floating_ip_pools = floating_ip_pools.FloatingIPPoolManager(self) self.fping = fping.FpingManager(self) self.volumes = volumes.VolumeManager(self) self.keypairs = keypairs.KeypairManager(self) self.networks = networks.NetworkManager(self) self.neutron = networks.NeutronManager(self) self.quota_classes = quota_classes.QuotaClassSetManager(self) self.quotas = quotas.QuotaSetManager(self) self.security_groups = security_groups.SecurityGroupManager(self) self.security_group_rules = \ security_group_rules.SecurityGroupRuleManager(self) self.security_group_default_rules = \ security_group_default_rules.SecurityGroupDefaultRuleManager(self) self.usage = usage.UsageManager(self) self.virtual_interfaces = \ virtual_interfaces.VirtualInterfaceManager(self) self.aggregates = aggregates.AggregateManager(self) self.hosts = hosts.HostManager(self) self.hypervisors = hypervisors.HypervisorManager(self) self.hypervisor_stats = hypervisors.HypervisorStatsManager(self) self.services = services.ServiceManager(self) self.fixed_ips = fixed_ips.FixedIPsManager(self) self.floating_ips_bulk = floating_ips_bulk.FloatingIPBulkManager(self) self.os_cache = os_cache or not no_cache self.availability_zones = \ availability_zones.AvailabilityZoneManager(self) self.server_groups = server_groups.ServerGroupsManager(self) self.server_migrations = \ server_migrations.ServerMigrationsManager(self) # Add in any extensions... if extensions: for extension in extensions: if extension.manager_class: setattr(self, extension.name, extension.manager_class(self)) if not logger: logger = logging.getLogger(__name__) self.client = client._construct_http_client( username=username, password=password, user_id=user_id, project_id=project_id, tenant_id=tenant_id, auth_url=auth_url, auth_token=auth_token, insecure=insecure, timeout=timeout, proxy_token=proxy_token, proxy_tenant_id=proxy_tenant_id, region_name=region_name, endpoint_type=endpoint_type, service_type=service_type, service_name=service_name, volume_service_name=volume_service_name, timings=timings, bypass_url=bypass_url, os_cache=self.os_cache, http_log_debug=http_log_debug, cacert=cacert, connection_pool=connection_pool, session=session, auth=auth, api_version=api_version, logger=logger, **kwargs)
def __init__(self, username=None, api_key=None, project_id=None, auth_url=None, insecure=False, timeout=None, proxy_tenant_id=None, proxy_token=None, region_name=None, endpoint_type='publicURL', extensions=None, service_type='compute', service_name=None, volume_service_name=None, timings=False, bypass_url=None, os_cache=False, no_cache=True, http_log_debug=False, auth_system='keystone', auth_plugin=None, auth_token=None, cacert=None, tenant_id=None, user_id=None, connection_pool=False, session=None, auth=None, api_version=None, direct_use=True, logger=None, **kwargs): """Initialization of Client object. :param str username: Username :param str api_key: API Key :param str project_id: Project ID :param str auth_url: Auth URL :param bool insecure: Allow insecure :param float timeout: API timeout, None or 0 disables :param str proxy_tenant_id: Tenant ID :param str proxy_token: Proxy Token :param str region_name: Region Name :param str endpoint_type: Endpoint Type :param str extensions: Extensions :param str service_type: Service Type :param str service_name: Service Name :param str volume_service_name: Volume Service Name :param bool timings: Timings :param str bypass_url: Bypass URL :param bool os_cache: OS cache :param bool no_cache: No cache :param bool http_log_debug: Enable debugging for HTTP connections :param str auth_system: Auth system :param str auth_plugin: Auth plugin :param str auth_token: Auth token :param str cacert: cacert :param str tenant_id: Tenant ID :param str user_id: User ID :param bool connection_pool: Use a connection pool :param str session: Session :param str auth: Auth :param api_version: Compute API version :param direct_use: Inner variable of novaclient. Do not use it outside novaclient. It's restricted. :param logger: Logger :type api_version: novaclient.api_versions.APIVersion """ if direct_use: raise exceptions.Forbidden( 403, _LE("'novaclient.v2.client.Client' is not designed to be " "initialized directly. It is inner class of " "novaclient. You should use " "'novaclient.client.Client' instead. Related lp " "bug-report: 1493576")) # FIXME(comstud): Rename the api_key argument above when we # know it's not being used as keyword argument # NOTE(cyeoh): In the novaclient context (unlike Nova) the # project_id is not the same as the tenant_id. Here project_id # is a name (what the Nova API often refers to as a project or # tenant name) and tenant_id is a UUID (what the Nova API # often refers to as a project_id or tenant_id). password = kwargs.pop('password', api_key) self.projectid = project_id self.tenant_id = tenant_id self.user_id = user_id self.flavors = flavors.FlavorManager(self) self.flavor_access = flavor_access.FlavorAccessManager(self) self.images = images.ImageManager(self) self.glance = images.GlanceManager(self) self.limits = limits.LimitsManager(self) self.servers = servers.ServerManager(self) self.versions = versions.VersionManager(self) # extensions self.agents = agents.AgentsManager(self) self.dns_domains = floating_ip_dns.FloatingIPDNSDomainManager(self) self.dns_entries = floating_ip_dns.FloatingIPDNSEntryManager(self) self.cloudpipe = cloudpipe.CloudpipeManager(self) self.certs = certs.CertificateManager(self) self.floating_ips = floating_ips.FloatingIPManager(self) self.floating_ip_pools = floating_ip_pools.FloatingIPPoolManager(self) self.fping = fping.FpingManager(self) self.volumes = volumes.VolumeManager(self) self.keypairs = keypairs.KeypairManager(self) self.networks = networks.NetworkManager(self) self.neutron = networks.NeutronManager(self) self.quota_classes = quota_classes.QuotaClassSetManager(self) self.quotas = quotas.QuotaSetManager(self) self.security_groups = security_groups.SecurityGroupManager(self) self.security_group_rules = \ security_group_rules.SecurityGroupRuleManager(self) self.security_group_default_rules = \ security_group_default_rules.SecurityGroupDefaultRuleManager(self) self.usage = usage.UsageManager(self) self.virtual_interfaces = \ virtual_interfaces.VirtualInterfaceManager(self) self.aggregates = aggregates.AggregateManager(self) self.hosts = hosts.HostManager(self) self.hypervisors = hypervisors.HypervisorManager(self) self.hypervisor_stats = hypervisors.HypervisorStatsManager(self) self.services = services.ServiceManager(self) self.fixed_ips = fixed_ips.FixedIPsManager(self) self.floating_ips_bulk = floating_ips_bulk.FloatingIPBulkManager(self) self.os_cache = os_cache or not no_cache self.availability_zones = \ availability_zones.AvailabilityZoneManager(self) self.server_groups = server_groups.ServerGroupsManager(self) self.server_migrations = \ server_migrations.ServerMigrationsManager(self) self.licence = licence.LicenceManager(self) self.snapshot = snapshot.SnapshotManager(self) self.systemlogs = systemlogs.SystemlogManager(self) self.cdrom = cdrom.CDromManager(self) # Add in any extensions... if extensions: for extension in extensions: if extension.manager_class: setattr(self, extension.name, extension.manager_class(self)) if not logger: logger = logging.getLogger(__name__) self.client = client._construct_http_client( username=username, password=password, user_id=user_id, project_id=project_id, tenant_id=tenant_id, auth_url=auth_url, auth_token=auth_token, insecure=insecure, timeout=timeout, auth_system=auth_system, auth_plugin=auth_plugin, proxy_token=proxy_token, proxy_tenant_id=proxy_tenant_id, region_name=region_name, endpoint_type=endpoint_type, service_type=service_type, service_name=service_name, volume_service_name=volume_service_name, timings=timings, bypass_url=bypass_url, os_cache=self.os_cache, http_log_debug=http_log_debug, cacert=cacert, connection_pool=connection_pool, session=session, auth=auth, api_version=api_version, logger=logger, **kwargs)
def __init__(self, api_version=None, auth=None, auth_token=None, auth_url=None, cacert=None, cert=None, direct_use=True, endpoint_override=None, endpoint_type='publicURL', extensions=None, http_log_debug=False, insecure=False, logger=None, os_cache=False, password=None, project_domain_id=None, project_domain_name=None, project_id=None, project_name=None, region_name=None, service_name=None, service_type='compute', session=None, timeout=None, timings=False, user_domain_id=None, user_domain_name=None, user_id=None, username=None, **kwargs): """Initialization of Client object. :param api_version: Compute API version :type api_version: novaclient.api_versions.APIVersion :param str auth: Auth :param str auth_token: Auth token :param str auth_url: Auth URL :param str cacert: ca-certificate :param str cert: certificate :param bool direct_use: Inner variable of novaclient. Do not use it outside novaclient. It's restricted. :param str endpoint_override: Bypass URL :param str endpoint_type: Endpoint Type :param str extensions: Extensions :param bool http_log_debug: Enable debugging for HTTP connections :param bool insecure: Allow insecure :param logging.Logger logger: Logger instance to be used for all logging stuff :param str password: User password :param bool os_cache: OS cache :param str project_domain_id: ID of project domain :param str project_domain_name: Name of project domain :param str project_id: Project/Tenant ID :param str project_name: Project/Tenant name :param str region_name: Region Name :param str service_name: Service Name :param str service_type: Service Type :param str session: Session :param float timeout: API timeout, None or 0 disables :param bool timings: Timings :param str user_domain_id: ID of user domain :param str user_domain_name: Name of user domain :param str user_id: User ID :param str username: Username """ if direct_use: raise exceptions.Forbidden( 403, _LE("'novaclient.v2.client.Client' is not designed to be " "initialized directly. It is inner class of " "novaclient. You should use " "'novaclient.client.Client' instead. Related lp " "bug-report: 1493576")) # NOTE(cyeoh): In the novaclient context (unlike Nova) the # project_id is not the same as the tenant_id. Here project_id # is a name (what the Nova API often refers to as a project or # tenant name) and tenant_id is a UUID (what the Nova API # often refers to as a project_id or tenant_id). self.project_id = project_id self.project_name = project_name self.user_id = user_id self.flavors = flavors.FlavorManager(self) self.flavor_access = flavor_access.FlavorAccessManager(self) self.glance = images.GlanceManager(self) self.limits = limits.LimitsManager(self) self.servers = servers.ServerManager(self) self.versions = versions.VersionManager(self) # extensions self.agents = agents.AgentsManager(self) self.dns_domains = floating_ip_dns.FloatingIPDNSDomainManager(self) self.dns_entries = floating_ip_dns.FloatingIPDNSEntryManager(self) self.cloudpipe = cloudpipe.CloudpipeManager(self) self.certs = certs.CertificateManager(self) self.floating_ips = floating_ips.FloatingIPManager(self) self.floating_ip_pools = floating_ip_pools.FloatingIPPoolManager(self) self.fping = fping.FpingManager(self) self.volumes = volumes.VolumeManager(self) self.keypairs = keypairs.KeypairManager(self) self.networks = networks.NetworkManager(self) self.neutron = networks.NeutronManager(self) self.quota_classes = quota_classes.QuotaClassSetManager(self) self.quotas = quotas.QuotaSetManager(self) self.security_groups = security_groups.SecurityGroupManager(self) self.security_group_rules = \ security_group_rules.SecurityGroupRuleManager(self) self.security_group_default_rules = \ security_group_default_rules.SecurityGroupDefaultRuleManager(self) self.usage = usage.UsageManager(self) self.virtual_interfaces = \ virtual_interfaces.VirtualInterfaceManager(self) self.aggregates = aggregates.AggregateManager(self) self.hosts = hosts.HostManager(self) self.hypervisors = hypervisors.HypervisorManager(self) self.hypervisor_stats = hypervisors.HypervisorStatsManager(self) self.services = services.ServiceManager(self) self.fixed_ips = fixed_ips.FixedIPsManager(self) self.floating_ips_bulk = floating_ips_bulk.FloatingIPBulkManager(self) self.os_cache = os_cache self.availability_zones = \ availability_zones.AvailabilityZoneManager(self) self.server_groups = server_groups.ServerGroupsManager(self) self.server_migrations = \ server_migrations.ServerMigrationsManager(self) # V2.0 extensions: # NOTE(andreykurilin): baremetal and tenant_networks extensions are # deprecated now, which is why they are not initialized by default. self.assisted_volume_snapshots = \ assisted_volume_snapshots.AssistedSnapshotManager(self) self.cells = cells.CellsManager(self) self.instance_action = instance_action.InstanceActionManager(self) self.list_extensions = list_extensions.ListExtManager(self) self.migrations = migrations.MigrationManager(self) self.server_external_events = \ server_external_events.ServerExternalEventManager(self) self.logger = logger or logging.getLogger(__name__) # Add in any extensions... if extensions: for extension in extensions: # do not import extensions from contrib directory twice. if extension.name in contrib.V2_0_EXTENSIONS: # NOTE(andreykurilin): this message looks more like # warning or note, but it is not critical, so let's do # not flood "warning" logging level and use just debug.. self.logger.debug( "Nova 2.0 extenstion '%s' is auto-loaded" " by default. You do not need to specify" " it manually.", extension.name) continue if extension.manager_class: setattr(self, extension.name, extension.manager_class(self)) self.client = client._construct_http_client( api_version=api_version, auth=auth, auth_token=auth_token, auth_url=auth_url, cacert=cacert, cert=cert, endpoint_override=endpoint_override, endpoint_type=endpoint_type, http_log_debug=http_log_debug, insecure=insecure, logger=self.logger, os_cache=self.os_cache, password=password, project_domain_id=project_domain_id, project_domain_name=project_domain_name, project_id=project_id, project_name=project_name, region_name=region_name, service_name=service_name, service_type=service_type, session=session, timeout=timeout, timings=timings, user_domain_id=user_domain_id, user_domain_name=user_domain_name, user_id=user_id, username=username, **kwargs)
def __init__(self, api_version=None, auth=None, auth_token=None, auth_url=None, cacert=None, cert=None, direct_use=True, endpoint_override=None, endpoint_type='publicURL', extensions=None, http_log_debug=False, insecure=False, logger=None, os_cache=False, password=None, project_domain_id=None, project_domain_name=None, project_id=None, project_name=None, region_name=None, service_name=None, service_type='compute', session=None, timeout=None, timings=False, user_domain_id=None, user_domain_name=None, user_id=None, username=None, **kwargs): """Initialization of Client object. :param api_version: Compute API version :type api_version: novaclient.api_versions.APIVersion :param str auth: Auth :param str auth_token: Auth token :param str auth_url: Auth URL :param str cacert: ca-certificate :param str cert: certificate :param bool direct_use: Inner variable of novaclient. Do not use it outside novaclient. It's restricted. :param str endpoint_override: Bypass URL :param str endpoint_type: Endpoint Type :param str extensions: Extensions :param bool http_log_debug: Enable debugging for HTTP connections :param bool insecure: Allow insecure :param logging.Logger logger: Logger instance to be used for all logging stuff :param str password: User password :param bool os_cache: OS cache :param str project_domain_id: ID of project domain :param str project_domain_name: Name of project domain :param str project_id: Project/Tenant ID :param str project_name: Project/Tenant name :param str region_name: Region Name :param str service_name: Service Name :param str service_type: Service Type :param str session: Session :param float timeout: API timeout, None or 0 disables :param bool timings: Timings :param str user_domain_id: ID of user domain :param str user_domain_name: Name of user domain :param str user_id: User ID :param str username: Username """ if direct_use: raise exceptions.Forbidden( 403, _LE("'novaclient.v2.client.Client' is not designed to be " "initialized directly. It is inner class of " "novaclient. You should use " "'novaclient.client.Client' instead. Related lp " "bug-report: 1493576")) # NOTE(cyeoh): In the novaclient context (unlike Nova) the # project_id is not the same as the tenant_id. Here project_id # is a name (what the Nova API often refers to as a project or # tenant name) and tenant_id is a UUID (what the Nova API # often refers to as a project_id or tenant_id). self.project_id = project_id self.project_name = project_name self.user_id = user_id self.flavors = flavors.FlavorManager(self) self.flavor_access = flavor_access.FlavorAccessManager(self) self.images = images.ImageManager(self) self.glance = images.GlanceManager(self) self.limits = limits.LimitsManager(self) self.servers = servers.ServerManager(self) self.versions = versions.VersionManager(self) # extensions self.agents = agents.AgentsManager(self) self.dns_domains = floating_ip_dns.FloatingIPDNSDomainManager(self) self.dns_entries = floating_ip_dns.FloatingIPDNSEntryManager(self) self.cloudpipe = cloudpipe.CloudpipeManager(self) self.certs = certs.CertificateManager(self) self.floating_ips = floating_ips.FloatingIPManager(self) self.floating_ip_pools = floating_ip_pools.FloatingIPPoolManager(self) self.fping = fping.FpingManager(self) self.volumes = volumes.VolumeManager(self) self.keypairs = keypairs.KeypairManager(self) self.networks = networks.NetworkManager(self) self.neutron = networks.NeutronManager(self) self.quota_classes = quota_classes.QuotaClassSetManager(self) self.quotas = quotas.QuotaSetManager(self) self.security_groups = security_groups.SecurityGroupManager(self) self.security_group_rules = \ security_group_rules.SecurityGroupRuleManager(self) self.security_group_default_rules = \ security_group_default_rules.SecurityGroupDefaultRuleManager(self) self.usage = usage.UsageManager(self) self.virtual_interfaces = \ virtual_interfaces.VirtualInterfaceManager(self) self.aggregates = aggregates.AggregateManager(self) self.hosts = hosts.HostManager(self) self.hypervisors = hypervisors.HypervisorManager(self) self.hypervisor_stats = hypervisors.HypervisorStatsManager(self) self.services = services.ServiceManager(self) self.fixed_ips = fixed_ips.FixedIPsManager(self) self.floating_ips_bulk = floating_ips_bulk.FloatingIPBulkManager(self) self.os_cache = os_cache self.availability_zones = \ availability_zones.AvailabilityZoneManager(self) self.server_groups = server_groups.ServerGroupsManager(self) self.server_migrations = \ server_migrations.ServerMigrationsManager(self) # V2.0 extensions: # NOTE(andreykurilin): baremetal and tenant_networks extensions are # deprecated now, which is why they are not initialized by default. self.assisted_volume_snapshots = \ assisted_volume_snapshots.AssistedSnapshotManager(self) self.cells = cells.CellsManager(self) self.instance_action = instance_action.InstanceActionManager(self) self.list_extensions = list_extensions.ListExtManager(self) self.migrations = migrations.MigrationManager(self) self.server_external_events = \ server_external_events.ServerExternalEventManager(self) self.logger = logger or logging.getLogger(__name__) # Add in any extensions... if extensions: for extension in extensions: # do not import extensions from contrib directory twice. if extension.name in contrib.V2_0_EXTENSIONS: # NOTE(andreykurilin): this message looks more like # warning or note, but it is not critical, so let's do # not flood "warning" logging level and use just debug.. self.logger.debug("Nova 2.0 extenstion '%s' is auto-loaded" " by default. You do not need to specify" " it manually.", extension.name) continue if extension.manager_class: setattr(self, extension.name, extension.manager_class(self)) self.client = client._construct_http_client( api_version=api_version, auth=auth, auth_token=auth_token, auth_url=auth_url, cacert=cacert, cert=cert, endpoint_override=endpoint_override, endpoint_type=endpoint_type, http_log_debug=http_log_debug, insecure=insecure, logger=self.logger, os_cache=self.os_cache, password=password, project_domain_id=project_domain_id, project_domain_name=project_domain_name, project_id=project_id, project_name=project_name, region_name=region_name, service_name=service_name, service_type=service_type, session=session, timeout=timeout, timings=timings, user_domain_id=user_domain_id, user_domain_name=user_domain_name, user_id=user_id, username=username, **kwargs)