コード例 #1
0
    def Create(self, args, enable_certificate_management=False):
        client = api_client.GetApiClientForTrack(self.ReleaseTrack())

        if enable_certificate_management:
            domains_util.ValidateCertificateArgs(args.certificate_id,
                                                 args.certificate_management)

            if not args.certificate_management:
                if not args.certificate_id:
                    args.certificate_management = 'automatic'
                else:
                    args.certificate_management = 'manual'

            management_type = domains_util.ParseCertificateManagement(
                client.messages, args.certificate_management)

            mapping = client.CreateDomainMapping(args.domain,
                                                 args.certificate_id,
                                                 management_type)
        else:
            mapping = client.CreateDomainMapping(args.domain,
                                                 args.certificate_id)
        log.CreatedResource(args.domain)

        log.status.Print(
            'Please add the following entries to your domain registrar.'
            ' DNS changes can require up to 24 hours to take effect.')
        return mapping
コード例 #2
0
ファイル: update.py プロジェクト: sarahdactyl71/gneiss-rocks
 def Run(self, args):
     client = api_client.GetApiClientForTrack(self.ReleaseTrack())
     mapping = client.UpdateDomainMapping(args.domain, args.certificate_id,
                                          args.no_certificate_id,
                                          args.no_managed_certificate)
     log.UpdatedResource(args.domain)
     return mapping
コード例 #3
0
 def Run(self, args):
     try:
         project = properties.VALUES.core.project.Get()
         client = api_client.GetApiClientForTrack(self.ReleaseTrack())
         return client.ListVerifiedDomains()
     # Note: the domain user-verified listing API is availible through two
     # routes, one App Engine and one Cloud Run. The command should work if the
     # user has *either* API activated. The following falls back to Cloud Run
     # if the user does not have App Engine activated.
     except (apitools_exceptions.HttpNotFoundError,
             apitools_exceptions.HttpForbiddenError) as appengine_err:
         try:
             run_client = run_methods.GetServerlessClientInstance()
             return run_methods.ListVerifiedDomains(run_client)
         except (apitools_exceptions.HttpNotFoundError,
                 apitools_exceptions.HttpForbiddenError):
             log.error(
                 'To list user-verified domains, you must activate either'
                 ' the App Engine or Cloud Run API and have read permissions '
                 'on one of them.')
             log.error('To activate App Engine, visit:')
             log.error(
                 'https://console.cloud.google.com/apis/api/'
                 'appengine.googleapis.com/overview?project={}'.format(
                     project))
             log.error('To activate Cloud Run, visit:')
             log.error(
                 'https://console.cloud.google.com/apis/api/'
                 'run.googleapis.com/overview?project={}'.format(project))
             raise appengine_err
コード例 #4
0
ファイル: create.py プロジェクト: sarahdactyl71/gneiss-rocks
    def Run(self, args):
        client = api_client.GetApiClientForTrack(self.ReleaseTrack())
        mapping = client.CreateDomainMapping(args.domain, args.certificate_id)
        log.CreatedResource(args.domain)

        log.status.Print(
            'Please add the following entries to your domain registrar.'
            ' DNS changes can require up to 24 hours to take effect.')
        return mapping
コード例 #5
0
ファイル: delete.py プロジェクト: barber223/AudioApp
  def Run(self, args):
    console_io.PromptContinue(
        prompt_string=('Deleting mapping [{0}]. This will stop your app from'
                       ' serving from this domain.'.format(args.domain)),
        cancel_on_no=True)

    client = api_client.GetApiClientForTrack(self.ReleaseTrack())
    client.DeleteDomainMapping(args.domain)
    log.DeletedResource(args.domain)
コード例 #6
0
    def Run(self, args):
        try:
            project = properties.VALUES.core.project.Get()
            client = api_client.GetApiClientForTrack(self.ReleaseTrack())
            return client.ListVerifiedDomains()
        # Note: the domain user-verified listing API is availible through two
        # routes, one App Engine and one Cloud Run. The command should work if the
        # user has *either* API activated. The following falls back to Cloud Run
        # if the user does not have App Engine activated.
        except (apitools_exceptions.HttpNotFoundError,
                apitools_exceptions.HttpForbiddenError) as appengine_err:
            try:
                # TODO(b/129705144) Hard-coding the region is temporary, the control
                # plane is working on the fix to not require a region at all.
                region = 'us-central1'
                location = resources.REGISTRY.Parse(
                    region,
                    params={'projectsId': project},
                    collection='run.projects.locations')
                run_client = apis.GetClientInstance('run', 'v1alpha1')
                msgs = run_client.MESSAGES_MODULE
                req = msgs.RunProjectsLocationsAuthorizeddomainsListRequest(
                    parent=location.RelativeName())

                response = run_client.projects_locations_authorizeddomains.List(
                    req)
                return response.domains
            except (apitools_exceptions.HttpNotFoundError,
                    apitools_exceptions.HttpForbiddenError):
                log.error(
                    'To list user-verified domains, you must activate either'
                    ' the App Engine or Cloud Run API and have read permissions '
                    'on one of them.')
                log.error('To activate App Engine, visit:')
                log.error(
                    'https://console.cloud.google.com/apis/api/'
                    'appengine.googleapis.com/overview?project={}'.format(
                        project))
                log.error('To activate Cloud Run, visit:')
                log.error(
                    'https://console.cloud.google.com/apis/api/'
                    'run.googleapis.com/overview?project={}'.format(project))
                raise appengine_err
コード例 #7
0
    def Run(self, args):
        client = api_client.GetApiClientForTrack(self.ReleaseTrack())

        domains_util.ValidateCertificateArgsForUpdate(
            args.certificate_id, args.no_certificate_id,
            args.certificate_management)
        if (not args.certificate_management
                and (args.certificate_id or args.no_certificate_id)):
            args.certificate_management = 'manual'

        if (args.certificate_management.upper() == 'manual'
                and not args.certificate_id and not args.no_certificate_id):
            args.no_certificate_id = True

        management_type = domains_util.ParseCertificateManagement(
            client.messages, args.certificate_management)
        mapping = client.UpdateDomainMapping(args.domain, args.certificate_id,
                                             args.no_certificate_id,
                                             management_type)
        log.UpdatedResource(args.domain)
        return mapping
コード例 #8
0
 def Run(self, args):
     client = api_client.GetApiClientForTrack(self.ReleaseTrack())
     return client.GetDomainMapping(args.domain)
コード例 #9
0
 def Run(self, args):
     client = api_client.GetApiClientForTrack(self.ReleaseTrack())
     return client.ListVerifiedDomains()