Ejemplo n.º 1
0
    def Run(self, args):
        """Run 'types delete'.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
          with.

    Raises:
      HttpException: An http error response was received while executing api
          request.
    """
        composite_type_ref = composite_types.GetReference(
            self.resources, args.name)
        if not args.quiet:
            prompt_message = 'Are you sure you want to delete [{0}]?'.format(
                args.name)
            if not console_io.PromptContinue(message=prompt_message,
                                             default=False):
                raise exceptions.OperationError('Deletion aborted by user.')

        request = (self.messages.DeploymentmanagerCompositeTypesDeleteRequest(
            project=composite_type_ref.project, compositeType=args.name))

        dm_write.Execute(self.client, self.messages, self.resources, request,
                         args. async, self.client.compositeTypes.Delete,
                         LogResource)
Ejemplo n.º 2
0
    def Run(self, args):
        """Run 'types create'.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
          with.

    Raises:
      HttpException: An http error response was received while executing api
          request.
    """
        composite_type_ref = composite_types.GetReference(
            self.resources, args.name)
        update_labels_dict = labels_util.GetUpdateLabelsDictFromArgs(args)
        labels = dm_labels.UpdateLabels([],
                                        self.messages.CompositeTypeLabelEntry,
                                        update_labels=update_labels_dict)
        template_contents = composite_types.TemplateContentsFor(
            self.messages, args.template)

        composite_type = self.messages.CompositeType(
            name=args.name,
            description=args.description,
            status=args.status,
            templateContents=template_contents,
            labels=labels)
        request = self.messages.DeploymentmanagerCompositeTypesInsertRequest(
            project=composite_type_ref.project, compositeType=composite_type)

        dm_write.Execute(self.client, self.messages, self.resources, request,
                         args. async, self.client.compositeTypes.Insert,
                         LogResource)
Ejemplo n.º 3
0
  def Run(self, args):
    """Run 'types update'.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
          with.

    Raises:
      HttpException: An http error response was received while executing api
          request.
    """
    composite_type_ref = composite_types.GetReference(self.resources, args.name)
    get_request = self.messages.DeploymentmanagerCompositeTypesGetRequest(
        project=composite_type_ref.project,
        compositeType=args.name)
    existing_ct = self.client.compositeTypes.Get(get_request)

    labels = dm_labels.UpdateLabels(
        existing_ct.labels,
        self.messages.CompositeTypeLabelEntry,
        labels_util.GetUpdateLabelsDictFromArgs(args),
        labels_util.GetRemoveLabelsListFromArgs(args))

    composite_type = self.messages.CompositeType(
        name=args.name,
        description=args.description,
        status=args.status,
        templateContents=existing_ct.templateContents,
        labels=labels)

    update_request = self.messages.DeploymentmanagerCompositeTypesUpdateRequest(
        project=composite_type_ref.project,
        compositeType=args.name,
        compositeTypeResource=composite_type)

    dm_write.Execute(self.client,
                     self.messages,
                     self.resources,
                     update_request,
                     args.async_,
                     self.client.compositeTypes.Update,
                     LogResource)