Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
class TapService(neutron.NeutronResource):
"""A resource for neutron tap-as-a-service tap-service.
This plug-in requires neutron-taas. So to enable this
plug-in, install this library and restart the heat-engine.
A Tap-Service represents the port on which the mirrored traffic is
delivered. Any VM that uses the mirrored data is attached to this port.
"""
required_service_extension = 'taas'
entity = 'tap_service'
support_status = support.SupportStatus(version='12.0.0')
PROPERTIES = (
NAME, DESCRIPTION, PORT,
) = (
'name', 'description', 'port',
)
properties_schema = {
NAME: properties.Schema(
properties.Schema.STRING,
_('Name for the Tap-Service.'),
default="",
update_allowed=True
),
DESCRIPTION: properties.Schema(
properties.Schema.STRING,
_('Name of the server.'),
type=attributes.Schema.STRING
),
ADDRESSES: attributes.Schema(
_('A dict of all network addresses with corresponding port_id and '
'subnets. Each network will have two keys in dict, they are '
'network name and network id. The port ID may be obtained '
'through the following expression: ``{get_attr: [, '
'addresses, , 0, port]}``. The subnets may '
'be obtained trough the following expression: ``{get_attr: '
'[, addresses, , 0, subnets]}``. '
'The network may be obtained through the following expression: '
'``{get_attr: [, addresses, , 0, '
'network]}``.'),
type=attributes.Schema.MAP,
support_status=support.SupportStatus(
version='11.0.0',
status=support.SUPPORTED,
message=_('The attribute was extended to include subnets and '
'network with version 11.0.0.'),
previous_status=support.SupportStatus(
status=support.SUPPORTED
)
)
),
NETWORKS_ATTR: attributes.Schema(
_('A dict of assigned network addresses of the form: '
'{"public": [ip1, ip2...], "private": [ip3, ip4], '
'"public_uuid": [ip1, ip2...], "private_uuid": [ip3, ip4]}. '
'Each network will have two keys in dict, they are network '
'name and network id.'),
type=attributes.Schema.MAP
from heat.common.i18n import _
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
class SecurityService(resource.Resource):
"""A resource that implements security service of Manila.
A security_service is a set of options that defines a security domain
for a particular shared filesystem protocol, such as an
Active Directory domain or a Kerberos domain.
"""
support_status = support.SupportStatus(version='5.0.0')
PROPERTIES = (
NAME, TYPE, DNS_IP, SERVER, DOMAIN, USER,
PASSWORD, DESCRIPTION
) = (
'name', 'type', 'dns_ip', 'server', 'domain', 'user',
'password', 'description'
)
properties_schema = {
NAME: properties.Schema(
properties.Schema.STRING,
_('Security service name.'),
update_allowed=True
),
TYPE: properties.Schema(
properties_schema = {
LENGTH: properties.Schema(
properties.Schema.INTEGER,
_('Length of the string to generate.'),
default=32,
constraints=[
constraints.Range(1, 512),
]
),
SEQUENCE: properties.Schema(
properties.Schema.STRING,
_('Sequence of characters to build the random string from.'),
constraints=[
constraints.AllowedValues(password_gen.CHARACTER_CLASSES),
],
support_status=support.SupportStatus(
status=support.HIDDEN,
version='5.0.0',
previous_status=support.SupportStatus(
status=support.DEPRECATED,
message=_('Use property %s.') % CHARACTER_CLASSES,
version='2014.2'
)
)
),
CHARACTER_CLASSES: properties.Schema(
properties.Schema.LIST,
_('A list of character class and their constraints to generate '
'the random string from.'),
schema=properties.Schema(
properties.Schema.MAP,
schema={
from heat.engine import function
from heat.engine.notification import autoscaling as notification
from heat.engine import properties
from heat.engine import resource
from heat.engine.resources.openstack.heat import instance_group as instgrp
from heat.engine import rsrc_defn
from heat.engine import support
from heat.scaling import cooldown
from heat.scaling import scalingutil as sc_util
LOG = logging.getLogger(__name__)
class AutoScalingGroup(cooldown.CooldownMixin, instgrp.InstanceGroup):
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
AVAILABILITY_ZONES, LAUNCH_CONFIGURATION_NAME, MAX_SIZE, MIN_SIZE,
COOLDOWN, DESIRED_CAPACITY, HEALTH_CHECK_GRACE_PERIOD,
HEALTH_CHECK_TYPE, LOAD_BALANCER_NAMES, VPCZONE_IDENTIFIER, TAGS,
INSTANCE_ID,
) = (
'AvailabilityZones', 'LaunchConfigurationName', 'MaxSize', 'MinSize',
'Cooldown', 'DesiredCapacity', 'HealthCheckGracePeriod',
'HealthCheckType', 'LoadBalancerNames', 'VPCZoneIdentifier', 'Tags',
'InstanceId',
)
_TAG_KEYS = (
TAG_KEY, TAG_VALUE,
) = (
Configs can be defined in the same template which uses them, or they can
be created in one stack, and passed to another stack via a parameter.
A config resource can be referenced in other resource properties which
are config-aware. This includes the properties OS::Nova::Server user_data,
OS::Heat::SoftwareDeployment config and OS::Heat::MultipartMime parts
config.
Along with the config script itself, this resource can define schemas for
inputs and outputs which the config script is expected to consume and
produce. Inputs and outputs are optional and will map to concepts which
are specific to the configuration tool being used.
"""
support_status = support.SupportStatus(version='2014.1')
default_client_name = 'heat'
entity = 'software_configs'
PROPERTIES = (
GROUP, CONFIG,
OPTIONS,
INPUTS, OUTPUTS
) = (
rpc_api.SOFTWARE_CONFIG_GROUP, rpc_api.SOFTWARE_CONFIG_CONFIG,
rpc_api.SOFTWARE_CONFIG_OPTIONS,
rpc_api.SOFTWARE_CONFIG_INPUTS, rpc_api.SOFTWARE_CONFIG_OUTPUTS,
)
ATTRIBUTES = (
Parts in the message can be populated with inline configuration or
references to other config resources. If the referenced resource is itself
a valid multi-part mime message, that will be broken into parts and
those parts appended to this message.
The resulting multi-part mime message will be stored by the configs API
and can be referenced in properties such as OS::Nova::Server user_data.
This resource is generally used to build a list of cloud-init
configuration elements including scripts and cloud-config. Since
cloud-init is boot-only configuration, any changes to the definition
will result in the replacement of all servers which reference it.
"""
support_status = support.SupportStatus(version='2014.1')
PROPERTIES = (
PARTS, CONFIG, FILENAME, TYPE, SUBTYPE, GROUP
) = (
'parts', 'config', 'filename', 'type', 'subtype', 'group'
)
TYPES = (
TEXT, MULTIPART
) = (
'text', 'multipart'
)
properties_schema = {
GROUP: properties.Schema(
properties.Schema.STRING,
from heat.engine import support
LOG = logging.getLogger(__name__)
class HeatWaitCondition(resource.Resource):
"""Resource for handling signals received by WaitConditionHandle.
Resource takes WaitConditionHandle and starts to create. Resource is in
CREATE_IN_PROGRESS status until WaitConditionHandle doesn't receive
sufficient number of successful signals (this number can be specified with
count property) and successfully creates after that, or fails due to
timeout.
"""
support_status = support.SupportStatus(version='2014.2')
PROPERTIES = (
HANDLE, TIMEOUT, COUNT,
) = (
'handle', 'timeout', 'count',
)
ATTRIBUTES = (
DATA,
) = (
'data',
)
properties_schema = {
HANDLE: properties.Schema(
properties.Schema.STRING,
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
NOVA_MICROVERSIONS = (MICROVERSION_SOFT_POLICIES) = ('2.15')
class ServerGroup(resource.Resource):
"""A resource for managing a Nova server group.
Server groups allow you to make sure instances (VM/VPS) are on the same
hypervisor host or on a different one.
"""
support_status = support.SupportStatus(version='2014.2')
default_client_name = 'nova'
entity = 'server_groups'
PROPERTIES = (
NAME, POLICIES
) = (
'name', 'policies'
)
properties_schema = {
NAME: properties.Schema(
properties.Schema.STRING,
_('Server Group name.')
),
from heat.engine import attributes
from heat.engine import constraints
from heat.engine import properties
from heat.engine import resource
from heat.engine import support
from heat.engine import translation
class ManilaShareNetwork(resource.Resource):
"""A resource that stores network information for share servers.
Stores network information that will be used by share servers,
where shares are hosted.
"""
support_status = support.SupportStatus(version='5.0.0')
PROPERTIES = (
NAME, NEUTRON_NETWORK, NEUTRON_SUBNET, NOVA_NETWORK,
DESCRIPTION, SECURITY_SERVICES,
) = (
'name', 'neutron_network', 'neutron_subnet', 'nova_network',
'description', 'security_services',
)
ATTRIBUTES = (
SEGMENTATION_ID, CIDR, IP_VERSION, NETWORK_TYPE,
) = (
'segmentation_id', 'cidr', 'ip_version', 'network_type',
)
properties_schema = {