Пример #1
0
    def execute(self, parsed_args):
        domain_id = self.find_resourceid_by_name_or_id(
            'domains', parsed_args.domain_id)

        if not parsed_args.name.endswith('.'):
            # Relative name?
            domain_name = self.client.domains.get(domain_id)['name']
            absolute = parsed_args.name + '.'
            relative = absolute + domain_name
            if absolute.endswith('.' + domain_name):
                # Relative name or absolute name missing final period?
                msg = ('"%s" is a relative name but looks like an absolute '
                       'name, use --name "%s" or "%s"'
                       % (parsed_args.name, absolute, relative))
                raise ValueError(msg)
            parsed_args.name = relative

        record = Record(
            name=parsed_args.name,
            type=parsed_args.type,
            data=parsed_args.data,
        )

        if parsed_args.ttl is not None:
            record.ttl = parsed_args.ttl

        if parsed_args.priority is not None:
            record.priority = parsed_args.priority

        if parsed_args.description:
            record.description = parsed_args.description

        return self.client.records.create(domain_id, record)
Пример #2
0
    def execute(self, parsed_args):
        domain_id = self.find_resourceid_by_name_or_id('domains',
                                                       parsed_args.domain_id)

        if not parsed_args.name.endswith('.'):
            # Relative name?
            domain_name = self.client.domains.get(domain_id)['name']
            absolute = parsed_args.name + '.'
            relative = absolute + domain_name
            if absolute.endswith('.' + domain_name):
                # Relative name or absolute name missing final period?
                msg = ('"%s" is a relative name but looks like an absolute '
                       'name, use --name "%s" or "%s"' %
                       (parsed_args.name, absolute, relative))
                raise ValueError(msg)
            parsed_args.name = relative

        record = Record(
            name=parsed_args.name,
            type=parsed_args.type,
            data=parsed_args.data,
        )

        if parsed_args.ttl is not None:
            record.ttl = parsed_args.ttl

        if parsed_args.priority:
            record.priority = parsed_args.priority

        if parsed_args.description:
            record.description = parsed_args.description

        return self.client.records.create(domain_id, record)
Пример #3
0
    def execute(self, parsed_args):
        record = Record(
            name=parsed_args.name,
            type=parsed_args.type,
            data=parsed_args.data,
        )

        if parsed_args.ttl:
            record.ttl = parsed_args.ttl

        if parsed_args.priority:
            record.priority = parsed_args.priority

        if parsed_args.description:
            record.description = parsed_args.description

        return self.client.records.create(parsed_args.domain_id, record)
Пример #4
0
    def execute(self, parsed_args):
        record = Record(
            name=parsed_args.name,
            type=parsed_args.type,
            data=parsed_args.data,
        )

        if parsed_args.ttl:
            record.ttl = parsed_args.ttl

        if parsed_args.priority:
            record.priority = parsed_args.priority

        if parsed_args.description:
            record.description = parsed_args.description

        return self.client.records.create(parsed_args.domain_id, record)
Пример #5
0
def record_update(request, domain_id, record_id, **kwargs):
    d_client = designateclient(request)
    if d_client is None:
        return []

    # A quirk of the designate client is that you need to start with a
    # base record and then update individual fields in order to persist
    # the data. The designate client will only send the 'changed' fields.
    record = Record(id=record_id, type='A', name='', data='')

    record.type = kwargs.get('type', None)
    record.name = kwargs.get('name', None)
    record.data = kwargs.get('data', None)
    record.priority = kwargs.get('priority', None)
    record.ttl = kwargs.get('ttl', None)
    record.description = kwargs.get('description', None)

    return d_client.records.update(domain_id, record)
Пример #6
0
def record_update(request, domain_id, record_id, **kwargs):
    d_client = designateclient(request)
    if d_client is None:
        return []

    # A quirk of the designate client is that you need to start with a
    # base record and then update individual fields in order to persist
    # the data. The designate client will only send the 'changed' fields.
    record = Record(
        id=record_id,
        type='A',
        name='',
        data='')

    record.type = kwargs.get('type', None)
    record.name = kwargs.get('name', None)
    record.data = kwargs.get('data', None)
    record.priority = kwargs.get('priority', None)
    record.ttl = kwargs.get('ttl', None)
    record.description = kwargs.get('description', None)

    return d_client.records.update(domain_id, record)