def UpdateLabels(self, zone_ref, labels): """Update labels using Managed Zones Update request.""" zone = self.Get(zone_ref) zone.labels = labels operation = self._service.Update( self.messages.DnsManagedZonesUpdateRequest( managedZoneResource=zone, project=zone_ref.project, managedZone=zone_ref.Name())) operation_param = { 'project': zone_ref.project, 'managedZone': zone_ref.Name(), } if self.location: operation_param['location'] = self.location operation_ref = util.GetRegistry(self.version).Parse( operation.id, params=operation_param, collection='dns.managedZoneOperations') return operations.WaitFor( self.version, operation_ref, 'Updating managed zone [{}]'.format(zone_ref.Name()))
def Patch(self, zone_ref, is_async, dnssec_config=None, description=None, labels=None, private_visibility_config=None, forwarding_config=None, peering_config=None): """Managed Zones Update Request.""" zone = self.messages.ManagedZone( name=zone_ref.Name(), dnssecConfig=dnssec_config, description=description, labels=labels) if private_visibility_config: zone.privateVisibilityConfig = private_visibility_config if forwarding_config: zone.forwardingConfig = forwarding_config if peering_config: zone.peeringConfig = peering_config operation = self._service.Patch( self.messages.DnsManagedZonesPatchRequest( managedZoneResource=zone, project=zone_ref.project, managedZone=zone_ref.Name())) operation_ref = util.GetRegistry(self.version).Parse( operation.id, params={ 'project': zone_ref.project, 'managedZone': zone_ref.Name(), }, collection='dns.managedZoneOperations') if is_async: log.status.write( 'Updating [{0}] with operation [{1}].'.format( zone_ref.Name(), operation_ref.Name())) return return operations.WaitFor( self.version, operation_ref, 'Updating managed zone [{}]'.format(zone_ref.Name()) )
def Patch(self, zone_ref, is_async, dnssec_config=None, description=None, labels=None, private_visibility_config=None, forwarding_config=None, peering_config=None, service_directory_config=None, cloud_logging_config=None, cleared_fields=None): """Managed Zones Update Request. Args: zone_ref: the managed zones being patched. is_async: if the PATCH operation is asynchronous. dnssec_config: zone DNSSEC config. description: zone description. labels: zone labels. private_visibility_config: zone visibility config. forwarding_config: zone forwarding config. peering_config: zone peering config. service_directory_config: zone service directory config. cloud_logging_config: Stackdriver logging config. cleared_fields: the fields that should be included in the request JSON as their default value (fields that are their default value will be omitted otherwise). Returns: The PATCH response, if operation is not asynchronous. """ zone = self.messages.ManagedZone(name=zone_ref.Name(), dnssecConfig=dnssec_config, description=description, labels=labels) if private_visibility_config: zone.privateVisibilityConfig = private_visibility_config if forwarding_config: zone.forwardingConfig = forwarding_config if peering_config: zone.peeringConfig = peering_config if service_directory_config: zone.serviceDirectoryConfig = service_directory_config if cloud_logging_config: zone.cloudLoggingConfig = cloud_logging_config request = self.messages.DnsManagedZonesPatchRequest( managedZoneResource=zone, project=zone_ref.project, managedZone=zone_ref.Name()) if self.location: request.location = self.location # Tell the client that the cleared fields should be included in the JSON as # their default value, otherwise they will be omitted. with self.client.IncludeFields(cleared_fields): operation = self.client.managedZones.Patch(request) operation_param = { 'project': zone_ref.project, 'managedZone': zone_ref.Name(), } if self.location: operation_param['location'] = self.location operation_ref = util.GetRegistry(self.version).Parse( operation.id, params=operation_param, collection='dns.managedZoneOperations') if is_async: log.status.write('Updating [{0}] with operation [{1}].'.format( zone_ref.Name(), operation_ref.Name())) return return operations.WaitFor( self.version, operation_ref, 'Updating managed zone [{}]'.format(zone_ref.Name()), self.location)